当我尝试在应用程序中心构建 Xamarin Forms iOS 应用程序时,它正在检查 Android 的引用并抛出异常/问题。
谁知道为什么会发生这种情况?
PS:Android 和 iOS 版本在本地都运行良好。
提前致谢。
看起来您的 iOS 管道正在尝试使用整个解决方案的 *.sln 文件。 我想你应该尝试直接构建 *.iOS.csproj 。 下面是从 *.yml 构建 iOS 项目任务的示例:
- task: XamariniOS@1
displayName: Build App.iOS
inputs:
solutionFile: 'App.iOS/App.iOS.csproj'
configuration: '$(buildConfiguration)'
packageApp: true
runNugetRestore: false
args: '/p:OutputPath=$(outputDirectory)/'
buildToolOption: 'msbuild'
clean: true
之前,我选择构建配置指向 .sln(解决方案)文件而不是 (.iOS) 项目。
解决方案:在构建配置中选择(.iOS)项目
目前,您无法再使用 yml 编辑管道。 因此,将一个自定义脚本文件添加到您的 iOS 项目中,称为
appcenter-post-clone.sh
,如 docs 中所述,它会删除解决方案中的 Android 项目,因此在恢复时不会打扰您
文件内容应为:
dotnet sln <path to sln (ex: ../../app.sln)> remove <path to Android csproj (ex: ../Android/Android.csproj)>
确保添加文件后,再次手动构建管道,因为第一次添加文件时,它不会在管道中激活。