绝对相对路径

我从OpenFileDialog获取一个文件,该文件返回一个字符串,其中包含所选文件的绝对路径。 现在我希望该路径作为给定路径的相对路径(在这种情况下是我的应用程序的路径)。

所以我想说我得到了一个文件的路径: c:\myDock\programming\myProject\Properties\AssemblyInfo.cs

我的申请位于

c:\myDock\programming\otherProject\bin\Debug\program.exe

然后我想要结果:

..\..\..\myProject\Properties\AssemblyInfo.cs

Uri类有一个MakeRelativeUri方法可以提供帮助。

 public static string MakeRelative(string filePath, string referencePath) { var fileUri = new Uri(filePath); var referenceUri = new Uri(referencePath); return referenceUri.MakeRelativeUri(fileUri).ToString(); } var result = MakeRelative(@"C:\dirName\dirName2\file.txt", @"C:\dirName\");