将包含驱动器号的相对路径转换为.NET文件功能的绝对路径

问题描述 投票:3回答:3

如何将诸如D:test.xml之类的驱动器相对路径转换为诸如XDocument.Load()之类的函数将接受的绝对路径。例如,D驱动器可以将D:\data作为其当前工作目录,因此D:test.xml表示D:\data\test.xml。我已经尝试过D:.\test.xml之类的混合物。

这里是我因为D:test.xml而得到的错误:

无效的URI:必须以Dos路径为根,例如'c:\'

如何将驱动器相对路径(例如D:test.xml)转换为功能(例如XDocument.Load())将接受的绝对路径。 D驱动器可以将D:\ data作为其当前工作目录,...

c# .net .net-4.0 c#-4.0
3个回答
5
投票

您可以使用GetFullPath。例如:


2
投票

您应该只使用“ test.xml”作为相对路径,如果当前文件夹为“ D:\ data”,则完整路径将解析为“ D:\ Data \ test.xml”。 MSDN示例中的Load()方法也对此进行了说明:// should return "D:\data\test.xml" if the current working dir is "D:\data" string absolutePath = Path.GetFullPath("D:test.xml");


1
投票

Path.GetFullPath可以工作。参见here

© www.soinside.com 2019 - 2024. All rights reserved.