Skip to content

Two workloads using the same pack cause MSBuildWorkloadSdkResolver to fail #16700

Closed
@jonathanpeppers

Description

@jonathanpeppers

Example: dotnet/android#5539

I added this to the Android workload:

"Microsoft.NET.Runtime.MonoAOTCompiler.Task": {
  "kind": "sdk",
  "version": "6.0.0-preview.4.21177.4"
},

This is also used by dotnet\sdk-manifests\6.0.100\Microsoft.NET.Workload.BlazorWebAssembly\WorkloadManifest.json.

With both workloads using the same pack, dotnet restore fails with:

C:\Users\jopepper\android-toolchain\dotnet\sdk\6.0.100-preview.4.21179.4\MSBuild.dll -nologo -bl -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Users\jopepper\android-toolchain\dotnet\sdk\6.0.100-preview.4.21179.4\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Users\jopepper\android-toolchain\dotnet\sdk\6.0.100-preview.4.21179.4\dotnet.dll -maxcpucount -target:Restore -verbosity:m HelloAndroid\HelloAndroid.csproj
C:\src\net5-samples\HelloAndroid\HelloAndroid.csproj : warning MSB4242: The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed to run. An item with the same key has already been added. Key: Microsoft.NET.Runtime.MonoAOTCompiler.Task
C:\Users\jopepper\android-toolchain\dotnet\sdk\6.0.100-preview.4.21179.4\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.props(14,3): warning MSB4242: The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed to run. An item with the same key has already been added. Key: Microsoft.NET.Runtime.MonoAOTCompiler.Task
C:\Users\jopepper\android-toolchain\dotnet\sdk\6.0.100-preview.4.21179.4\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ILLink.props(14,3): warning MSB4242: The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed to run. An item with the same key has already been added. Key: Microsoft.NET.Runtime.MonoAOTCompiler.Task
C:\Users\jopepper\android-toolchain\dotnet\sdk\6.0.100-preview.4.21179.4\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets(16,3): warning MSB4242: The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed to run. An item with the same key has already been added. Key: Microsoft.NET.Runtime.MonoAOTCompiler.Task
  Determining projects to restore...
C:\Users\jopepper\android-toolchain\dotnet\sdk\6.0.100-preview.4.21179.4\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(109,5): error NETSDK1139: The target platform identifier android was not recognized. [C:\src\net5-samples\HelloAndroid\HelloAndroid.csproj]

Logs: msbuild.zip

I hit this using .NET 6.0.100-preview.4.21179.4.

To workaround I can completely delete this folder and dotnet restore succeeds:

dotnet\sdk-manifests\6.0.100\Microsoft.NET.Workload.BlazorWebAssembly

/cc @dsplaisted @wli3

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions