这似乎是一个非常简单的问题,但谷歌搜索没有任何用处。
我有针对 .NET Framework 4.7.1 的 VS2017 WinForms C# 项目。
我想使用 Path.GetRelativePath 中的 .NET Core 2.X 。
是否可以实现(nuget 包之类的)?
附注。对于那些懒于自己移植 .NET Core 代码的人来说,这里是 my adapted version of it 。
最佳答案
解决方法:如果由于某种原因,在运行时无法引用或调用Core库,您可以自己实现该功能,非常简单:
public string GetRelativePath(string relativeTo, string path)
{
var uri = new Uri(relativeTo);
var rel = Uri.UnescapeDataString(uri.MakeRelativeUri(new Uri(path)).ToString()).Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar);
if (rel.Contains(Path.DirectorySeparatorChar.ToString()) == false)
{
rel = $".{ Path.DirectorySeparatorChar }{ rel }";
}
return rel;
}
关于c# - 是否可以在面向 4.7.1 的 WinForms 项目中使用 Path.GetRelativePath (.NET Core2)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51179331/