这似乎是一个非常简单的问题,但是使用谷歌搜索没有任何用处。
我有针对.NET Framework 4.7.1的VS2017 WinForms C#项目。
我想利用Path.GetRelativePath从.NET核心2.X。
它是可以实现的(裸包或其他东西)吗?
PS。对于那些不愿自己移植.NET Core代码的人,这里是我的改编版。
解决方法:如果由于某种原因无法在运行时引用或调用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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |