找不到指定的 SDK 'Microsoft.NET.SDK.WorkloadAutoImportPropsLocator'。.net core 5 MacOS



我正在开发macOS Big Sur和Visual Studio.net core 5。我认为问题是在允许Visual Studio安装更新后开始的(我没想到会有任何问题(,几个小时后dotnet命令停止工作。

我发现这是M1 Mac上的一个已知问题,当dotnet停止工作时,建议使用的版本是-5.0.402。我卸载了dotnet并安装了推荐的版本。

卸载dotnet的命令(需要脚本文件(:

chmod +x dotnet-uninstall-pkgs.sh 
sudo ./dotnet-uninstall-pkgs.sh
sudo rm -r /etc/dotnet

在安装了新版本(5.0.402(后,我的项目仍然无法运行,我在Visual Studio中遇到了这个错误:

/usr/local/share/dotnet/x64/sdk/6.0.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.props(14,38): error MSB4236: The SDK 'Microsoft.NET.SDK.WorkloadAutoImportPropsLocator' specified could not be found.

我想卸载最新的SDK,但不确定这是否是个好主意,可能会导致VisualStudio出现其他问题。

$ ./dotnet-core-uninstall list

输出(来自dotnet核心卸载工具(:

This tool cannot uninstall versions of the runtime or SDK that are installed using zip/scripts. The versions that can be uninstalled with this tool are:
.NET Core SDKs:
5.0.402  (x64)  [Used by Visual Studio for Mac. Specify individually or use —-force to remove]
.NET Core Runtimes:
5.0.11  (x64)  [Used by Visual Studio for Mac or SDKs. Specify individually or use —-force to remove]

请建议如何解决此问题

提前感谢

在x64 Mac上安装VS2022(v17.0-build8989(时,我收到了这个错误,但在从命令行构建时没有收到这个错误。

事情试图解决这个问题:

  • 遵循上述说明(多次(
  • 从我的系统中删除了(3x(Mono、Xamarin、NuGet、DotNet和VisualStudio的每个跟踪,并重新安装了VS2022
  • 设置MSBuildEnableWorkloadResolver = false环境变量
  • 大量重新启动

以上都不起作用。我错过了什么我错误地设置了MSBuildEnableWorkloadResolver = false环境变量

如果启用诊断日志详细程度,则生成日志中列出的第一件事将是用于生成的环境变量。我试图设置这个环境变量的方式没有影响VisualStudio!

经过一点研究,我了解到在MacOS中设置环境变量的最系统的方法是通过launchctl:

% launchctl setenv MSBuildEnableWorkloadResolver false

系统设置环境变量的旧方法是通过~/。MacOSX/environment.plist。但是,这种方法在OSX Lion中被删除了。以传统Unix方式设置环境变量(.profile.bash_profile.zprofile.zshenv等(仅适用于shell,不适用于应用程序。

以下是我解决此问题的步骤。

  1. 我按照本指南删除了所有的dotnet组件。

  2. 我安装了SDK 5.0.404安装后,dotnet命令不起作用。

  3. 我遵循了这篇文章的建议,它解决了我的问题。我删除了现有的dotnet文件并重新创建了它。

希望它能对某人有所帮助。

最新更新