我有一个 Xamarin.Forms 应用程序,其中有一个在 macos-12 代理上运行的 Azure 构建管道,我们用它来生成要部署到 Google Play 商店的 .apk 文件。 Azure 管道正在使用带有以下 Yaml 的 Xamarin.Android 任务。
steps:
- task: XamarinAndroid@1
displayName: '$(PackageName) - Building Droid'
inputs:
projectFile: Droid/MySample.Droid.csproj
configuration: 'Release'
clean: true
msbuildVersionOption: 15.0
jdkVersionOption: 1.11
但是如果我更改 msbuildVersionOption: 17.0,则会失败并出现以下错误。如有任何帮助,我们将不胜感激。
##[错误]错误:进程“/Library/Frameworks/Mono.framework/Versions/Current/Commands/xbuild”失败,退出代码为 1
错误:
/Users/runner/work/1/s/Droid/MySample.Droid.csproj:错误:/Users/runner/work/1/s/Droid/MySample.Droid.csproj:/Library/Frameworks/Mono.framework/ external/xbuild/Xamarin/Android/Xamarin.Android.CSharp.targets:无法导入项目文件,它正在由 /Users/runner/work/1/s/Droid/MySample.Droid.csproj 导入:Xamarin.Android .Common.targets:无法导入项目文件,它是由 /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.CSharp.targets 导入的:Xamarin.Android.AvailableItems.targets:无法导入项目文件,它是由 /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets 导入的:元素 <"None> 中的属性“TfmSpecificPackageFile”无法识别。
与不同 MS 托管代理映像上安装的软件版本进行比较,并根据您使用
msbuildVersionOption: 17.0
的要求,您应该选择按照建议使用 windows-2022
映像在 MS 托管代理上构建 Xamarin 应用程序在 构建 Xamarin 应用程序 - Azure Pipelines |微软学习。
如果需要在 macOS 代理上构建应用程序,您可以考虑通过选择
使用 Microsoft 托管的代理表中的
Included Software links
来提交 GitHub 问题。或者,您也可以使用包含您所需软件的确切版本的自托管代理。有关更多信息,请参阅自托管 macOS 代理。