刚刚下载并安装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
7条答案
按热度按时间b5buobof1#
我遇到了类似的问题。我使用添加删除程序卸载了7. 0. 100-previewider 5. 22307. 18 SDK,然后将项目文件中的TargetFramework更改为使用7. 0,然后我就能够加载项目了。
inkz8wg92#
编辑:这是正式记录在发行说明已知问题。
我来自.NET SDK团队。很抱歉让您遇到这些问题。我很乐意对其他答案发表评论,但我没有这样做的声誉。
Tim Farley建议的是一种官方认可的变通方法;通过添加/删除程序卸载任何preview 7 SDK都可以解决这个问题。至于为什么会发生这种情况以及为什么卸载preview SDK可以解决这个问题,我在这里做了一些解释:wwwhttps://github.com/dotnet/sdk/issues/28947#issuecomment-1307987337. TLDR:一些工作负载在.NET 7预览版开发过程中被重命名,以支持多目标等功能,当您下载新的RTM时,旧的预览文件可能会干扰它。
建议更新
TargetFramework
,但这与此问题无关。通常,每个.NET版本的重大更改和相关新功能都在TargetFramework
(TFM)之后进行,因此,只有更新TFM时才会出现问题,而不是更新SDK时。(不幸的是,在这种情况下,情况并非如此。)根据Scott,针对升级到.NET 8时是否会再次发生这种情况:根据当前工作负载的结构,这个问题可能会再次发生。我们正在讨论如何进行更改以防止这种情况再次发生,尽管这并不理想。我们还在考虑添加
dotnet workload clean
或其他内容来为您修复此问题。通过SDK GH线程与我们沟通,或在此处与我沟通,是向我们发送有关此问题的反馈的好方法。nkoocmlb3#
修复Visual Studio安装对我没有帮助。卸载.net 7错误工作负载('wasm-tools')也没有帮助,因为任何卸载或修复它的尝试都以相同的错误消息结束。
由于没有常规的选项来解决这个问题,我只是继续并物理删除了冲突的文件夹:工具链,留下第二个完整的工具链。幸运的是,它解决了我机器上的问题。从现在开始,我会更加谨慎的安装Ms RC软件包
ghhaqwfi4#
我也遇到过类似的问题,即使是在新的.Net项目上。我使用添加删除程序卸载了7.0.100-preview.2.22153.17 SDK,我能够再次创建一个新项目。现在我只剩下一个.Net 7.0 SDK(来自Visual Studio),如下所示。
cyvaqqii5#
解除安装Microsoft .Net SDK 7.0预览版
bweufnob6#
除了在我的M1 mac上,我遇到了和上面一样的问题。我按照下面的指南,手动删除了所有.net 7运行时和sdk的目录。然后重新安装了. net 7,现在一切似乎都很好。rider可以打开我的项目,dotnet cli不再抱怨
不确定类似的焦土方法是否适用于Windows乡亲。
https://devkimchi.com/2021/11/24/removing-dotnet-sdks-from-macos-manually/
mhd8tkvw7#
我遇到了同样的问题,只是我的系统上当前没有安装.NET7的预览版本,但是预览工件仍然在
C:\Program Files\dotnet\sdk-manifests\7.0.100
目录中。(不是VS 2022的版本),然后安装并卸载7.0.100-preview.7。这样做会删除预览工件并解决此错误。