The project on WinForms has a set of reports located in the folder and its subfolders, for example:
D:\Shared\Common\BaseReports\Main.rpt D:\Shared\Common\BaseReports\Main_new.rpt D:\Shared\Common\BaseReports\2015\Payments.rpt D:\Shared\Common\BaseReports\2016\Payments.rpt etc. The application itself can be located anywhere, and the path to the reports in it is indicated through the variable string reportPath = "D:\\Shared\\Common\\BaseReports";
In the future, let the path to a specific report be set using the base folder, for example, like this: string someReport = reportPath + "\\2015\\Payment.rpt";
How to get a list of folders and files inside D: \ Shared \ Common \ BaseReports \ in the form:
Main.rpt Main_new.rpt 2015\Payments.rpt 2016\Payments.rpt ...?
Yes, about string.Replace() [ string relativePath = someReport.Replace(reportPath, ""); ] I know, but maybe there is a better way? Thank!

@"D:\Shared\Common\BaseReports";on@"D:\Shared\Common\BaseReports\";i.e. add a backslash at the end of the root path. - BlackWitcher