Visual Studio无法编译Xamarin IOS,找不到SDK bin目录。

7

我正在尝试从Windows PC在Visual Studio中编译Xamarin IOS解决方案,但是我遇到了以下错误

2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(624,3): error : 无法找到SDK bin目录

我已经查看过xCode的默认路径,并且一切正常。我将mac上的xCode更新到了10.0版本。

这是失败的IOS.Common.targets上的行:

<DetectSdkLocations
        SessionId="$(BuildSessionId)"
        Condition="'$(IsMacEnabled)' == 'true'"
        SdkVersion="$(MtouchSdkVersion)"
        TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)"
        TargetArchitectures="$(TargetArchitectures)"
        >

        <Output TaskParameter="SdkVersion" PropertyName="MtouchSdkVersion" />
        <Output TaskParameter="SdkRoot" PropertyName="_SdkRoot" />
        <Output TaskParameter="SdkBinPath" PropertyName="_SdkBinPath" />
        <Output TaskParameter="SdkDevPath" PropertyName="_SdkDevPath" />
        <Output TaskParameter="SdkUsrPath" PropertyName="_SdkUsrPath" />
        <Output TaskParameter="SdkPlatform" PropertyName="_SdkPlatform" />
        <Output TaskParameter="SdkIsSimulator" PropertyName="_SdkIsSimulator" />
        <Output TaskParameter="IsXcode8" PropertyName="_IsXcode8" />
    </DetectSdkLocations>

你尝试过重新启动Visual Studio和你的Mac机器吗? - FreakyAli
我在更新XCode后遇到了相同的问题。 - Mabrouk MAHDHI
是的,我尝试过重新启动PC和Mac,Mac上的Visual Studio可以工作,但PC上的Visual Studio无法工作。 - jmayor
有趣的是你在PC上遇到了这个问题,但在Mac上却没有;我在Mac上也遇到了这个问题,但我没有尝试通过链接的Mac在PC上构建。 - Dusty
有人知道现在最好的Xamarin支持网站吗?我猜随着XCode的最新更新,Visual Studio也可能需要一些更新。 - jmayor
请参考以下链接:https://releases.xamarin.com/preview-release-xcode-10-gm/ - Lucas Zhang
4个回答

5

更新至 Visual Studio >= 15.8.5

更新: 自2018年9月20日起,Visual Studio版本15.8.5已发布,其中包含了对XCode 10的官方支持。

对于旧版的 VS:回滚 XCode 10

编辑: 一位同事报告说,他启动 XCode 10 并等待其完成升级配置后,就可以正常构建 Xamarin iOS 项目了。在回滚之前我自己也尝试过这种方法,但没有成功。请注意您的实际情况。以下是关于回滚到9.4.1的原始答案。

我尝试了很多不同的方法。在接受 XCode 10 更新后,Xamarin 构建立即失败。在尝试了其他一些方法后,唯一有效的方法就是将 XCode 回滚到 9.4.1 版本。

您可以通过从应用程序中删除该应用程序,然后从 Apple 开发人员网站下载9.4.1版本(如此答案所示)来回滚 XCode。


所以我猜问题在于Visual Studio无法识别最新的xCode,它可能会尝试匹配最新版本而失败了,对吧? - jmayor
是的,看起来就是这样,具体来说,Xamarin找不到它依赖的某些组件。 - Dusty

3

当我查看时,我已经安装了Visual Studio 2017 v15.7.2,所以从https://learn.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes下载最新的15.8.4解决了我的问题。现在我可以使用安装在Mac上的Xcode 10在Windows PC上编译运行iOS应用程序。
感谢LucasZ提供的链接,我尝试安装Alpha版本,但它警告我没有安装最新的Visual Studio,这就是我安装v15.8.4的原因。


2
因为Windows版本的VS仍然是15.8.x,所以您可以安装适用于Visual Studio 2017版本15.8的IDE兼容性。请参考此链接:这里
此外,您可以从这里下载Windows 15.9.0预览版的VS。稳定版将很快发布。

1
为了详细说明Dusty的回答,我必须让XCode 10完成其安装过程,并更新VS Mac。稳定通道对我有效,但我也注意到在VS Mac更新窗口中有一个新的“XCode 10预览”通道。我不确定它们之间的区别。在完全更新了稳定通道后,我能够构建,但如果失败,我的计划是尝试XCode 10预览通道。

我们在这里谈论的是在Windows上从Visual Studio运行,而不是Mac上的VS,后者对我来说很好用。 - jmayor

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