Workload definition 'wasm-tools' in manifest 'microsoft.net.workload.mono.toolchain' [...] conflicts with manifest 'microsoft.net.workload.mono.toolchain.net7'
Visual Studio 17.4 업데이트 이후 솔루션에 프로젝트가 로드되지 않는 현상이 있습니다. 이때, 프로젝트를 직접 추가하면 화면에는 다음과 같은 오류 메시지가 뜨는데요,
SDK Resolver Failure: "The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed while attempting to resolve the SDK "Microsoft.NET.Sdk". Exception: "Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: Workload definition 'wasm-tools' in manifest 'microsoft.net.workload.mono.toolchain' [C:\Program Files\dotnet\sdk-manifests\7.0.100\microsoft.net.workload.mono.toolchain\WorkloadManifest.json] conflicts with manifest 'microsoft.net.workload.mono.toolchain.net7' [C:\Program Files\dotnet\sdk-manifests\7.0.100\microsoft.net.workload.mono.toolchain.net7\WorkloadManifest.json]
at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.ComposeWorkloadManifests()
at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.Create(IWorkloadManifestProvider manifestProvider, String dotnetRootPath, String sdkVersion, String userProfileDir)
at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, String userProfileDir)
at Microsoft.DotNet.MSBuildSdkResolver.DotNetMSBuildSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext context, SdkResultFactory factory)
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)"" E:\ConsoleApp2\ConsoleApp2\ConsoleApp2.csproj
이미 이슈가 올라와 있군요. ^^
Cannot load or run lots of my projects in my solution after installing .NET 7
; https://github.com/dotnet/sdk/issues/28947
덧글을 보면, (오류 메시지에도 힌트가 나오지만) C:\Program Files\dotnet\sdk-manifests\7.0.100 하위에 2개의 디렉터리가 문제의 원인입니다.
microsoft.net.workload.mono.toolchain
microsoft.net.workload.mono.toolchain.net7
그중 하나를 삭제하면 잘 동작한다고 합니다. 그러면서 맨 마지막 덧글에 보면 .NET 7 preview 버전이 설치된 경우 그런 오류가 발생한다고 하는데요, 따라서 위의 디렉터리를 직접 삭제하지 말고 그냥 제어판에서 .NET 7 preview를 제거하면 되겠습니다. 그러면, "microsoft.net.workload.mono.toolchain" 디렉터리가 함께 삭제되는데요, 결국 그게 문제였던 것입니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]