我正在开发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,不适用于应用程序。
以下是我解决此问题的步骤。
-
我按照本指南删除了所有的dotnet组件。
-
我安装了SDK 5.0.404安装后,
dotnet
命令不起作用。 -
我遵循了这篇文章的建议,它解决了我的问题。我删除了现有的dotnet文件并重新创建了它。
希望它能对某人有所帮助。