Application manifest codebase incorrect when Linux path separator used
Description
Take these two almost identical commands:
dotnet-mage -update <deployment manifest> -AppManifest Application Files/<application manifest>
dotnet-mage -update <deployment manifest> -AppManifest Application Files\<application manifest>
They both work, but produce different codebase values in the deployment manifest:
<dependentAssembly dependencyType="install" codebase="/Application Files/<application manifest>">
<dependentAssembly dependencyType="install" codebase="Application Files\<application manifest>">
The first one is absolute, breaking the download in every situation except if the deployment manifest is in the root folder of the web site. The second one is relative, functioning correctly. The tool should ideally be smart enough to make the path relative regardless of the path separator used.
Configuration
.NET 5, Windows, x64
Regression?
Unknown
Other information
Here's what appears to be the problematic line of code: https://github.com/dotnet/deployment-tools/blob/309ac6b00368b13ab32456594c655070d2e5bd21/src/clickonce/MageCLI/Mage.cs#L480
I've updated readme to clarify that dotnet-mage is fully supported on Windows. We are gathering feedback about scenarios for usage of the tool on Linux agents.
This and similar issues are very valuable for planning future work.