Это будет очень сильно зависеть от типа приложения. В приложении ASP.NET при условии, что файл развернут в корне сайта, вы можете использовать это:
string filePath = Server.MapPath("~/testlog.xml");
В консольном приложении предполагается, что вы скопируете файл в выходную папку (Copy to Output Directory
: Copy Always
в свойствах файла) в том же месте, что и исполняемый файл, для которого вы можете использовать относительный путь:
string filePath = "testlog.xml";
Чтобы получить местоположение текущей выполняемой сборки, вы можете использовать это:
string location = Assembly.GetExecutingAssembly().Location;
и затем построить путь относительно этого местоположения:
string filePath = Path.Combine(location, "testlog.xml");
Так много способов достижения одного и того же, какой из них выбрать, зависит от вашего контекста.