Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error MSB4014: Microsoft.Build.BackEnd.SdkResolution.SdkResolverException: The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed while attempting to re solve the SDK "Microsoft.NET.Sdk". Exception: "Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: .... #36392

Open
danmoseley opened this issue Oct 23, 2023 · 6 comments
Assignees
Labels
Area-SdkResolvers untriaged Request triage from a team member
Milestone

Comments

@danmoseley
Copy link
Member

This is with today's 8.0.100-rtm build.

No idea how to repro it, but I assume there's a missing catch block for WorkloadManifestCompositionException in SdkResolverService or WorkloadMSBuildSdkResolver that should be turning the exception into a nice error message.

:\git\eShop\src\eShop.AppHost\eShop.AppHost.csproj : error MSB4242: SDK Resolver Failure: "The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed while attempting to resolve the SDK "Microsoft.NET.Sdk". Exception: "Microsoft.
NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: Workload manifest dependency 'Microsoft.NET.Workload.Emscripten.Current' version '8.0.0-rtm.23511.3' is lower than version '8.0.0' required by manifest 'microsoft.net.workl
oad.mono.toolchain.current' [C:\Program Files\dotnet\sdk-manifests\8.0.100-rtm\microsoft.net.workload.mono.toolchain.current\8.0.0-rtm.23523.3\WorkloadManifest.json]
C:\git\eShop\src\eShop.AppHost\eShop.AppHost.csproj : error MSB4242:    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.ComposeWorkloadManifests()
C:\git\eShop\src\eShop.AppHost\eShop.AppHost.csproj : error MSB4242:    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.Create(IWorkloadManifestProvider manifestProvider, String dotnetRootPath, String sdkVersion, String userProf
ileDir)
C:\git\eShop\src\eShop.AppHost\eShop.AppHost.csproj : error MSB4242:    at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, String userProfileDir,
 String globalJsonPath)
C:\git\eShop\src\eShop.AppHost\eShop.AppHost.csproj : error MSB4242:    at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.WorkloadSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultFactory factory)
C:\git\eShop\src\eShop.AppHost\eShop.AppHost.csproj : error MSB4242:    at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IList`1 resolvers, Int32 submissionId, SdkReference sdk, LoggingContext
loggingContext, ElementLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)""
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014: The build stopped unexpectedly because of an internal failure.
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014: Microsoft.Build.BackEnd.SdkResolution.SdkResolverException: The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed while attempting to re
solve the SDK "Microsoft.NET.Sdk". Exception: "Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: Workload manifest dependency 'Microsoft.NET.Workload.Emscripten.Current' version '8.0.0-rtm.23511.3' is lower than
version '8.0.0' required by manifest 'microsoft.net.workload.mono.toolchain.current' [C:\Program Files\dotnet\sdk-manifests\8.0.100-rtm\microsoft.net.workload.mono.toolchain.current\8.0.0-rtm.23523.3\WorkloadManifest.json]
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.ComposeWorkloadManifests()
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.Create(IWorkloadManifestProvider manifestProvider, String dotnetRootPath, String sdkVers
ion, String userProfileDir)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, St
ring userProfileDir, String globalJsonPath)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.WorkloadSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultF
actory factory)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IList`1 resolvers, Int32 submissionId, SdkReference
sdk, LoggingContext loggingContext, ElementLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)"
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:  ---> Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: Workload manifest dependency 'Microsoft.NET.Workload.Emscripten.Cur
rent' version '8.0.0-rtm.23511.3' is lower than version '8.0.0' required by manifest 'microsoft.net.workload.mono.toolchain.current' [C:\Program Files\dotnet\sdk-manifests\8.0.100-rtm\microsoft.net.workload.mono.toolchain.current\8.0.0-rtm.2
3523.3\WorkloadManifest.json]
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.ComposeWorkloadManifests()
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.Create(IWorkloadManifestProvider manifestProvider, String dotnetRootPath, String sdkVers
ion, String userProfileDir)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, St
ring userProfileDir, String globalJsonPath)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.WorkloadSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultF
actory factory)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IList`1 resolvers, Int32 submissionId, SdkReference
sdk, LoggingContext loggingContext, ElementLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    --- End of inner exception stack trace ---
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IList`1 resolvers, Int32 submissionId, SdkReference
sdk, LoggingContext loggingContext, ElementLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.ResolveSdkUsingResolversWithPatternsFirst(Int32 submissionId, SdkReference sdk, LoggingCo
ntext loggingContext, ElementLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, Boolean failOnUnresolvedSdk)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.ResolveSdk(Int32 submissionId, SdkReference sdk, LoggingContext loggingContext, ElementLo
cation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, Boolean failOnUnresolvedSdk)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.Build.BackEnd.SdkResolution.CachingSdkResolverService.<>c__DisplayClass3_0.<ResolveSdk>b__2()
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at System.Lazy`1.CreateValue()
C:\git\eShop\src\Ordering.Infrastructure\Ordering.Infrastructure.csproj : error MSB4014:    at Microsoft.Build.BackEnd.SdkResolution.CachingSdkResolverService.ResolveSdk(Int32 submissionId, SdkReference sdk, LoggingContext loggingContext, El
ementLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, Boolean failOnUnresolvedSdk)
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-SdkResolvers untriaged Request triage from a team member labels Oct 23, 2023
@danmoseley
Copy link
Member Author

danmoseley commented Oct 23, 2023

(ie., this bug is to not dump a huge stack on WorkloadManifestCompositionException , rather than for whatever the actual issue is .. I'm assuming those are distinct problems)

In my case the stack above was repeated over and over, a big mess.

@WenJunJi01
Copy link
Member

WenJunJi01 commented Oct 24, 2023

We met the similar issue while installing maui/wasm-tools workload in CLI on Windows and Mac OS
CLI/SDK: 8.0.100-rtm.23523.2(runtime-8.0.0-rtm.23519.13)
Workload update failed: Workload manifest dependency 'Microsoft.NET.Workload.Emscripten.Current' version '8.0.0-rtm.23511.3' is lower than version '8.0.0' required by manifest 'microsoft.net.workload.mono.toolchain.current' [C:\Users\v-wenjj\Downloads\dotnet-sdk-8.0.100-rtm.23523.2-win-arm64\sdk-manifests\8.0.100-rtm\microsoft.net.workload.mono.toolchain.current\8.0.0-rtm.23523.3\WorkloadManifest.json]
image
image

@marcpopMSFT
Copy link
Member

Currently the dotnet8 feed cannot be used when installing or updating workloads. This is because stable branding was done for emsdk and flowed into runtime while runtime was still unstable. That stable emsdk is not on the main dotnet8 feed but the runtime that depends on it is.

@lewing is exploring options for placing a working unstable version of the runtime into the dotnet8 feed or removing all the versions that will break (but that will break codeflow). Not a lot of great options and in the future, runtime needs to go stable before emsdk.

@danmoseley
Copy link
Member Author

@marcpopMSFT yep, this bug was about should this stack catch SdkResolverException, when it occurs for whatever reason, and produce a nice message, on the basis that we don't want the customer to see callstacks unless there is a bug in the code throwing the exception.

ie., why it's getting thrown is separate

@marcpopMSFT marcpopMSFT added this to the 8.0.2xx milestone Oct 24, 2023
@marcpopMSFT
Copy link
Member

Fair point, we should wrap the exception in a customer friendly error. assigning to 2xx

@v-ainigao
Copy link

v-ainigao commented Nov 13, 2023

We had a similar issue when always installing the maui/wasm-tools workload in the CLI on Windows.
CLI/SDK:8.0.200-preview.23558.16(runtime- 8.0.0-rtm.23520.16).
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-SdkResolvers untriaged Request triage from a team member
Projects
None yet
Development

No branches or pull requests

5 participants