Вы должны просто использовать «test.xml» в качестве относительного пути, и если текущей папкой является «D: \ data», полный путь будет преобразован в «D: \ Data \ test.xml».Это также показано в примере MSDN для метода Load (): http://msdn.microsoft.com/en-us/library/bb343181.aspx
Обратите внимание, что «driveLetter: fileName» не является относительным путем в .Net. (Пожалуйста, прочитайтеОбновление)
Вы можете преобразовать относительный путь в полный путь, используя Path.GetFullPath (), но вам не нужно делать это XDocument.Load (), поскольку он также будет принимать относительные пути.
Обновление LukeH, спасибо за указание на это!«driveLetter: fileName» принимаются Path.GetFullPath () и вычисляются как относительные пути к текущему каталогу указанного диска, как указано здесь .
Концепция текущего каталога на уровне диска унаследована с очень давних времен DOS.Не обязательно функция, на которой я буду создавать современные приложения.