当我们试图构建我们的应用程序时,AzureDevops托管的构建服务器出现了问题。
这是我们得到的以下错误:
MTOUCH : error MT2101:无法解析从'Xamarin.iOS,Version=0.0.0.0,Culture=neutral,PublicKeyToken=84e04ff9cfb79065‘中的方法'System.Void ObjCRuntime.Trampolines/NIDCompletionHandler::Finalize()’引用的引用'System.Void MT2101‘。/Users/vsts/agent/2.155.1/work/4/s/Smartphone/......
我们已经确定这是有关构建服务器正在使用的Xamarin.iOS SDK版本的一个问题。当在Xamarin.iOS SDK12.14.0.114上本地运行时,构建完成得很好。
是否指定AzureDevOps服务器使用哪个版本?我知道你可以用类似的东西:
/bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_18_1"
/bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_10.1.app;sudo xcode-select --switch /Applications/Xcode_10.1.app/Contents/Developer"以改变Mono版本。我们真正需要的是选择iOS SDK版本的方法。
发布于 2019-12-10 23:44:30
可以使用iOS工具安装较新的皮靴 SDK版本。
只需安装它,将步骤添加到您的管道中,并放入您需要的安装程序uri。
下载uri是https://dl.xamarin.com/MonoTouch/Mac/xamarin.ios-13.8.2.2.pkg (显然切换到所需的任何Xamarin.iOS版本)。
发布于 2020-05-20 22:30:49
通过上面的Bash (select-xamarin-sdk.sh)选择Mono版本,您还可以设置相应的Xamarin.iOS SDK版本。如果使用最新的Mono版本(在本文中使用6.8.0),则同时设置最近的Xamarin.iOS SDK版本。
关于这个问题,请参见的博客条目。
https://stackoverflow.com/questions/57459334
复制相似问题