diff --git a/src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselineFactory.cs b/src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselineFactory.cs index f6509a390938..b1e21be4e7df 100644 --- a/src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselineFactory.cs +++ b/src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselineFactory.cs @@ -46,31 +46,39 @@ public void ToTemplate( var assetsByIdentity = manifest.Assets.ToDictionary(a => a.Identity); foreach (var asset in manifest.Assets) { - var identity = asset.Identity; - var relatedAsset = asset.RelatedAsset; - var contentRoot = asset.ContentRoot; TemplatizeAsset(projectRoot, restorePath, asset); if (asset.AssetTraitName == "Content-Encoding") { var relativePath = asset.RelativePath.Replace('/', Path.DirectorySeparatorChar); - asset.Identity = Path.Combine(Path.GetDirectoryName(asset.Identity), relativePath); - asset.OriginalItemSpec = Path.Combine(Path.GetDirectoryName(asset.OriginalItemSpec), relativePath); + asset.Identity = Path.Combine( + Path.GetDirectoryName( + asset.Identity.Replace( + '\\', + Path.DirectorySeparatorChar)), + relativePath).Replace(Path.DirectorySeparatorChar, '\\'); + asset.OriginalItemSpec = Path.Combine( + Path.GetDirectoryName( + asset.OriginalItemSpec.Replace( + '\\', + Path.DirectorySeparatorChar)), + relativePath).Replace(Path.DirectorySeparatorChar, '\\'); } - if ((asset.Identity.EndsWith(".gz") || asset.Identity.EndsWith(".br")) + else if ((asset.Identity.EndsWith(".gz") || asset.Identity.EndsWith(".br")) && asset.AssetTraitName == "" && asset.RelatedAsset == "") { // Old .NET 5.0 implementation asset.Identity = Path.Combine( - Path.GetDirectoryName(asset.Identity), - Path.GetFileName(asset.OriginalItemSpec) + Path.GetExtension(asset.Identity)); + Path.GetDirectoryName(asset.Identity.Replace('\\',Path.DirectorySeparatorChar)), + Path.GetFileName(asset.OriginalItemSpec) + Path.GetExtension(asset.Identity)) + .Replace(Path.DirectorySeparatorChar, '\\'); } } foreach (var discovery in manifest.DiscoveryPatterns) { discovery.ContentRoot = discovery.ContentRoot.Replace(projectRoot, "${ProjectPath}"); - discovery.ContentRoot = discovery.ContentRoot - .Replace(Path.DirectorySeparatorChar, '/'); + discovery.ContentRoot = discovery.ContentRoot.Replace(Path.DirectorySeparatorChar, '\\'); + discovery.Name = discovery.Name.Replace(Path.DirectorySeparatorChar, '\\'); discovery.Pattern = discovery.Pattern.Replace(Path.DirectorySeparatorChar, '\\'); } @@ -171,7 +179,7 @@ var processed when file.StartsWith("$") => processed, }) }; - return updated.Replace('/','\\'); + return updated.Replace('/', '\\'); } private string TemplatizeBuildOrPublishPath(string outputPath, string file) @@ -249,7 +257,7 @@ private string TemplatizeNugetPath(string restorePath, string file) private static string ReplaceSegments(string file, Func selector) { - var segments = file.Split('/'); + var segments = file.Split('\\', '/'); var newSegments = new List(); // Segments have the following shape `${RestorePath}/PackageName/PackageVersion/lib/Tfm/dll`. @@ -259,7 +267,7 @@ private static string ReplaceSegments(string file, Func s newSegments.Add(selector(i, segments)); } - return string.Join('/', newSegments); + return string.Join(Path.DirectorySeparatorChar, newSegments); } private string RemovePossibleHash(string fileNameAndExtension)