我正在开发macOS Big和Visual .net核心5。我认为这些问题是在允许Visual安装更新(我没想到会出现任何问题)之后,在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中得到了这个错误:
/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]请建议如何解决这个问题.
,提前谢谢!
发布于 2022-05-25 14:09:26
在VS2022 (v17.0 - build8989)安装在x64 Mac上时,我得到了这个错误,但是在命令行构建时没有得到这个错误。
事情想要解决这个问题:
MSBuildEnableWorkloadResolver = false环境变量上述任何一项都没有用。我遗漏了什么?,我是以错误的方式设置环境变量的。
如果打开诊断日志详细,构建日志中列出的第一件事将是用于构建的环境变量。我试图设置这个环境变量的方式不是影响VisualStudio!
经过一些研究之后,我了解到在MacOS中设置环境变量的最系统的方法是通过launchctl:
% launchctl setenv MSBuildEnableWorkloadResolver false系统地设置环境变量的旧方法是通过~/..MacOSX/ environmental ..MacOSX。然而,该方法在OS中被删除。用传统的Unix方式设置环境变量(.profile、.bash_profile、.zprofile、.zshenv等)只适用于shell,不适用于应用程序。
https://stackoverflow.com/questions/70433320
复制相似问题