dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.58k stars 10.05k forks source link

The "ResolvedCompressedAssessts" task failed unexpectedly when 9.0.100 and 8.0.404 are installed, only in Visual Studio #59119

Open NoahBPeterson opened 6 days ago

NoahBPeterson commented 6 days ago

Is there an existing issue for this?

Describe the bug

MSB4018 The "ResolveCompressedAssets" task failed unexpectedly.

I have both 9.0.100 and 8.0.404 installed. After Azure failed to build my .NET 8 project with the .NET 9 SDK, I decided to create a global.json file to pin 8.0.404 and use that to build, but I discovered that it fails to build in Visual Studio. To double-check, I ran dotnet build (dotnet --info output 8.0.404), and it built successfully. Then I renamed global.json to global2.json, ran dotnet build again (dotnet --info output 9.0.100), and it built successfully. Then I tried building again in Visual Studio (without global.json pinning to 8.0.404), and it built successfully.

With Visual Studio 17.12, 9.0.100 and 8.0.404 SDKs installed and global.json pinning to 8.0.404, my Blazor project refuses to build. Renaming global.json makes it build in Visual Studio 17.12 but not in Azure. Building on the command line with 8.0.404 works fine. Building on the command line with 9.0.100 works fine.

Expected Behavior

I expect the .NET 9 SDK to not have so many regressions, and to compile my .NET 8 project successfully, as the .NET 8 SDK does.

Steps To Reproduce

  1. Install 9.0.100 and 8.0.404 SDKs
  2. Create a global.json for a Blazor project and use the 8.0.404 SDK.
  3. Build using Visual Studio

Exceptions (if any)

MSB4018 The "ResolveCompressedAssets" task failed unexpectedly. System.ArgumentException: Illegal characters in path. at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath) at System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath) at Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo..ctor(String rootDir, IEnumerable1 files, Boolean normalized) at Microsoft.Extensions.FileSystemGlobbing.MatcherExtensions.Match(Matcher matcher, String rootDir, IEnumerable1 files) at Microsoft.AspNetCore.StaticWebAssets.Tasks.ResolveCompressedAssets.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() Dashboard.Application.Host C:\Program Files\dotnet\sdk\8.0.404\Sdks\Microsoft.NET.Sdk.StaticWebAssets\targets\Microsoft.NET.Sdk.StaticWebAssets.Compression.targets 68

.NET Version

9.0.100

Anything else?

dotnet --info

.NET SDK:
 Version:           8.0.404
 Commit:            7b190310f2
 Workload version:  8.0.400-manifests.b1234fe1
 MSBuild version:   17.11.9+a69bbaaf5

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22631
 OS Platform: Windows
 RID:         win-x64
 Base Path:   C:\Program Files\dotnet\sdk\8.0.404\

.NET workloads installed:
Configured to use loose manifests when installing new manifests.
 [wasm-tools]
   Installation Source: SDK 8.0.400
   Manifest Version:    8.0.11/8.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.workload.mono.toolchain.current\8.0.11\WorkloadManifest.json
   Install Type:        FileBased

 [wasm-tools-net6]
   Installation Source: SDK 8.0.400
   Manifest Version:    8.0.11/8.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.workload.mono.toolchain.net6\8.0.11\WorkloadManifest.json
   Install Type:        FileBased

 [aspire]
   Installation Source: VS 17.12.35514.174
   Manifest Version:    8.2.2/8.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.aspire\8.2.2\WorkloadManifest.json
   Install Type:        FileBased

Host:
  Version:      9.0.0
  Architecture: x64
  Commit:       9d5a6a9aa4

.NET SDKs installed:
  8.0.404 [C:\Program Files\dotnet\sdk]
  9.0.100 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.16 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  C:\Users\Asus\dashboard-2\global.json

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

global.json


{
  "sdk": {
    "version": "8.0.404",
    "rollForward": "latestFeature"
  }
}```
dotnet-policy-service[bot] commented 3 days ago

Thank you for filing this issue. In order for us to investigate this issue, please provide a minimal repro project that illustrates the problem without unnecessary code. Please share with us in a public GitHub repo because we cannot open ZIP attachments, and don't include any confidential content.