首页 > 解决方案 > 您的项目未在 Azure DevOps for CD 中引用“MonoAndroid,Version=v10.0”框架

问题描述

我们的 Xamarin android v10.0 更新代码更改面临一个奇怪的 Azure DevOps 管道构建问题。

Azure DevOps 管道构建失败错误:

##[error]C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\NuGet\16.0\Microsoft.NuGet.targets(186,5):错误:您的项目未引用“MonoAndroid ,Version=v10.0" 框架。在项目文件的“TargetFrameworks”属性中添加对“MonoAndroid,Version=v10.0”的引用,然后重新运行 NuGet 还原。

但是,我们能够使用 vs2019 和 MS 构建在本地设备上成功构建它。

我们检查了所有可能的点,发现我们的项目正确引用了“<strong>MonoAndroid,Version=v10.0”。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: c#androidxamarinazure-devopsxamarin.android

解决方案


您使用的是 Microsoft 托管代理吗?您可以在构建应用程序之前选择 Xamarin SDK。

1 - 列出 SDK 和包含的 Android 版本,将此任务添加到您的 yaml 文件中:

- task: Bash@3
displayName: 'List Xamarin.Android versions'
inputs:
  targetType: 'inline'
  script: 'ls -l /Library/Frameworks/Xamarin.Android.framework/Versions | grep ^l'

在此处输入图像描述

2 - 选择 Xamarin SDK(6_12_0 允许您为 Android 11 构建):

- script: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 6_12_0 
displayName: 'Select Xamarin SDK version'
enabled: true

推荐阅读