Fix relative path handling on Windows.
On Windows, `PathUtility.GetRelativePath` was not properly handling paths that differed by case in the drive reference (e.g. "C:\" vs. "c:\"). The fix was to add the missing case-insensitive comparison argument. Replaced uses of `PathUtility.GetRelativePath` with `Path.GetRelativePath` where possible (requires 2.0.0+). Additionally, `PathUtility.RemoveExtraPathSeparators` was not handling paths with drive references on Windows. If the path contained a drive reference, the separator between the drive reference and the first part of the path was removed. This is due to `Path.Combine` not handling this case, so an explicit concatenation of the separator was added. This commit resolves issue #7699.
This commit is contained in:
parent
82d9bbc2f2
commit
03f0c51292
8 changed files with 57 additions and 86 deletions
|
@ -256,7 +256,7 @@ namespace Microsoft.DotNet.Tools
|
|||
|
||||
string fullPath = Path.GetFullPath(reference);
|
||||
ret.Add(fullPath);
|
||||
ret.Add(PathUtility.GetRelativePath(ProjectDirectory, fullPath));
|
||||
ret.Add(Path.GetRelativePath(ProjectDirectory, fullPath));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue