Если вы знаете, что вы всегда будете в bin \ debug, вы можете просто сделать
var path=System.IO.Path.GetFullPath(@"..\..\Sales\Report\Report2.rdlc");
Или вы могли бы сделать какое-то обнаружение
var path=@"Sales\Report\Report2.rdlc";
var currentDir=System.IO.Directory.GetCurrentDirectory();
if (currentDir.ToLower().EndsWith(@"\bin\debug") ||
currentDir.ToLower().EndsWith(@"\bin\release")) {
path=System.IO.Path.GetFullPath(@"..\..\" + path);
} else {
path=System.IO.Path.GetFullPath(path);
}
Другой формой обнаружения будет использование полосы пути, только если вы выполняете отладку, и в этом случае следует настроить DEBUG, чтобы вы могли делать ...
var path=@"Sales\Report\Report2.rdlc";
#if DEBUG
path=@"..\..\"+path;
# end if
path=System.IO.Path.GetFullPath(path);
Эта последняя версия обладает тем преимуществом, что все дополнительные средства обнаружения не скомпилированы в ваш код выпуска.