Visual Studio 2019更新后无法连接Mac上安装的Visual Studio for Mac:"指定位置未找到SDK"。

20
更新我的PC上的Visual Studio 2019 (v16.8)之前,我能够构建Xamarin应用程序并连接到我的Mac没有问题。更新到Visual Studio 2019 (v16.9)后,VS经过了正常流程,要求更新远程的Visual Studio for Mac,一切似乎都没有问题,但在尝试连接远程更新后,我遇到了一个错误。 “由于未在连接的Mac的默认位置上找到Xcode,因此无法验证Xcode许可证状态。安装和使用Xcode对于构建和运行iOS应用程序是必需的,请检查Xcode是否正确安装并且iOS设置下指定的路径是否正确。” 在Mac上,我确保Xcode和VS都是最新版本(VS有更新,我也进行了更新),但仍然在Windows上遇到了同样的问题。 检查VS for Mac的首选项项目->SDK位置->Apple,显示它找不到Xcode(它使用位于/Library/Developer/CommandlineTools/SDKs中的位置)。 “指定位置未找到SDK” 我将其更改为/Application/Xcode.app,这时它可以找到它,但需要重新启动VS for Mac。做完这些后,再次检查新设置的值,发现它已被还原到了错误的位置!无论我尝试什么,每次返回查看设置时它总是还原到错误的位置。

我猜我需要改变那个首选项,但似乎无法使该值保持不变。

7个回答

43

长话短说,这解决了我的问题。

在Mac终端上运行了以下命令:

sudo xcode-select --reset

很不幸,我找不到导致我得到答案的Xamarin表格了,但是我记得它说我需要安装xcode-select sudo xcode-select --install。这样做会出现错误,因为它已经被安装了。

xcode-select:错误:命令行工具已安装,请使用“软件更新”安装更新

我尝试运行Sudo xcode-select --update,但那不是一个有效的命令。然而,它确实给了我一个有效选项列表,其中我看到了重置选项。

在试图重新查找原来的帖子时(我从未再次找到它),我偶然发现了这个stackoverflow帖子(xcode-select active developer directory error),我认为它描述了可能发生的事情。页面下方的一个答案(https://dev59.com/7GMl5IYBdhLWcg3w966L#48154263)与我发现的相同。


在使用针对 iOS 的 Uno 平台项目(该项目基于 Xamarin Native)运行 Visual Studio 2022 时,我遇到了这个问题。在我的 Monterey 上的 Mac Mini(M1)上,这个 sudo 命令非常好用。谢谢! - Jim Speaker

10
如果您使用的是Windows上的Visual Studio,那么应该前往(工具>选项>Xamarin>iOS设置)。 在Apple SDK部分,检查Xcode路径。 我的Xcode路径在更新VS到16.9.0后也以某种方式更改为/Library/Developer/CommandLineTools。 将其更改为/Applications/Xcode.app后,它又可以正常工作了。

刚刚更新了很长时间未更新的VS,然后遇到了这个问题。当你更改了这个设置后,VS会接受SDK并显示绿色勾号,但是项目可能仍然无法接受它。在这种情况下,关闭VS(不是关闭项目,而是退出VS),然后重新启动并再次加载项目,应该就可以解决了。 - Xonshiz

7

只需在URL末尾加上“/”。这对我有效。

例如:“/Applications/Xcode.app/”


0
在我的情况下,我从https://developer.apple.com/downloads下载了Xcode并安装在桌面上,结果遇到了相同的错误。
将Xcode移动到应用程序目录后,在终端上运行以下命令即可解决问题:
sudo xcode-select --reset

0

错误可能告诉您,由于找不到Xcode,无法验证其许可证...

然而,这可能根本不是连接问题的真正原因。

这里有另一个可能的解决方案:从您的Windows PC和MAC中都删除XMA临时文件夹,然后您就可以继续了。

Windows:%localappdata%\Temp\Xamarin\XMA MacOS: $HOME/Library/Caches/Xamarin/XMA

在此之后重新配对Mac时,您可以看到该过程正在忙于重新安装大量的SDK和Broker内容。 :)

但最终,它应该会再次正常工作。


0

运行 xcode select reset terminal 命令对我无效。最终我做的是:

  1. 关闭 Visual Studio
  2. 转到 %LOCALAPPDATA%\Xamarin\Monotouch
  3. 删除 Monotouch 文件夹
  4. 重新配对 Mac

0
对我来说有效的方法是在Mac上打开终端,删除dotnet文件夹,然后更新dotnet工作负载。
cd ~/Library/Caches/Xamarin/XMA/SDKs
ls
sudo rm -rf dotnet
sudo dotnet workload update

删除文件夹后,我重新启动了我的Mac,然后重新启动了VS,配对成功了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接