using System; using System.IO; public static class PathHelper { public static string MakeRelativePath(string fromPath, string toPath) { var fromUri = new Uri(Path.GetFullPath(fromPath)); var toUri = new Uri(Path.GetFullPath(toPath)); if (fromUri.Scheme != toUri.Scheme) { return toPath; } var relativeUri = fromUri.MakeRelativeUri(toUri); var relativePath = Uri.UnescapeDataString(relativeUri.ToString()); if (toUri.Scheme.Equals("file", StringComparison.InvariantCultureIgnoreCase)) { relativePath = relativePath.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); } return relativePath; } }