当我这样做的时候
string s = Path.Combine(Folders.Data, fileName);
我有 file:\\...
(URI 位置)。如何获取 c:\...
(非 URI 位置)?
编辑:
Folders 类的代码是:
public static class Folders
{
public static string App
{
get
{
return Path.GetDirectoryName(
Assembly.GetAssembly(typeof(Folders)).CodeBase
);
}
}
public static string Data
{
get
{
return Path.Combine(App, "Data");
}
}
}
最佳答案
Path.Combine 添加最后一个组件,您需要从Folders.Data 中删除 file:\
你可以做这样的事情
string s = Path.Combine(Folders.Data.Replace("file:\\",""), fileName);
要获得清晰的解决方案,请尝试使用 Assembly.Location,如图所示 here这就是你想要的。
所以不要使用:
return Path.GetDirectoryName(
Assembly.GetAssembly(typeof(Folders)).CodeBase
);
用途:
return Path.GetDirectoryName(
Assembly.GetAssembly(typeof(Folders)).Location
);
关于c# - 获取非 URI 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5330874/