Dav*_*vid 45 c# jetbrains-ide visual-studio rider .net-7.0
刚刚下载并安装了 SDK Net 7.0.100,它破坏了现有应用程序,并且它们将不再在 VS 2022 或 Rider 中加载。
复制后出现以下错误:
error : 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.net7' [C:\Program Files\dotnet\sdk-manifests\7.0.100\microsoft.net.workload.mono.toolchain.net7\WorkloadManifest.json] conflicts with manifest 'microsoft.net.workload.mono.toolchain' [C:\Program Files\dotnet\sdk-manifests\7.0.100\microsoft.net.workload.mono.toolchain\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
Run Code Online (Sandbox Code Playgroud)
小智 40
我遇到了类似的问题。我使用添加删除程序卸载了 7.0.100-preview.5.22307.18 sdk,然后将项目文件中的 TargetFramework 更改为使用 7.0,然后我就能够加载项目了。
nag*_*son 33
编辑:这已正式记录在发行说明中的已知问题。
我来自 .NET SDK 团队。抱歉你正在经历这个。我很想对其他答案发表评论,但我没有这样做的声誉。
蒂姆·法利(Tim Farley)建议的是官方认可的解决方法;通过添加/删除程序卸载任何预览版 7 SDK 应该可以解决该问题。至于为什么会发生这种情况以及为什么卸载预览 SDK 可以解决问题,我在这里做了一些解释: https: //github.com/dotnet/sdk/issues/28947#issuecomment-1307987337。TLDR:一些工作负载在 .NET 7 预览开发过程中被重命名,以支持多目标等功能,当您下载新的 RTM 时,旧的预览文件可能会干扰它。
建议更新TargetFramework,但与此问题无关。通常,每个 .NET 版本和相关新功能的重大更改都会在您的TargetFramework(TFM) 后面进行控制,因此在更新 TFM 之前(而不是更新 SDK 时),事情不会发生中断。(不幸的是,在本例中事实并非如此。)
对于升级到 .NET 8 时是否会再次发生这种情况,Scott表示:根据当前工作负载的结构,此问题将再次发生。我们正在讨论如何做出改变以防止这种情况再次发生,尽管这并不理想。我们还在考虑添加dotnet workload clean或修复此问题。在 SDK GH 线程上与我们交流,或者在此处与我交流,是向我们发送有关此问题的反馈的好方法。
YMC*_*YMC 12
修复 Visual Studio 安装对我没有帮助。卸载 .NET 7 错误工作负载(“wasm-tools”)也没有,因为任何卸载或修复它的尝试都会以相同的错误消息结束。
由于没有传统的选项来解决该问题,我只是继续物理删除冲突的文件夹:microsoft.net.workload.mono.toolchain,留下第二个 microsoft.net.workload.mono.toolchain。net7完好无损。幸运的是它解决了我机器上的问题。从现在开始我会更加谨慎地安装 Ms RC 软件包
即使在新的 .NET 项目中,我也遇到了类似的问题。我使用添加删除程序卸载了 7.0.100-preview.2.22153.17 SDK,并且能够再次创建一个新项目。我现在只剩下一个 .NET 7.0 SDK(来自 Visual Studio),如下所示。
| 归档时间: |
|
| 查看次数: |
16196 次 |
| 最近记录: |