Как создать конвейер сборки YAML в Azure Devops для проектов xamarin со ссылочными проектами dot net - PullRequest
2 голосов
/ 24 сентября 2019

Я недавно переместил свои источники в Azure DevOps, чтобы использовать cd / ci и все остальное.Теперь я создал свой первый конвейер сборки для сборки части моего проекта Xamarin для Android.Но я получаю сообщение об ошибке, что ресурс упомянутого проекта не может быть найден, и я сделаю восстановление пакета и попробую снова.Теперь, поскольку у меня есть агенты компоновки, размещенные в Azure, а не хосты, у меня нет способов правильно настроить агент перед сборкой.Но я думаю, что должен быть какой-то способ правильно настроить конвейер сборки для выполнения всех необходимых действий.Просто я понятия не имею, что я должен добавить в свой файл yaml, чтобы исправить это.

Это сообщение об ошибке, которое я получил:

##[error]C:\Program Files\dotnet\sdk\2.2.105\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(208,5): Error NETSDK1004: Assets file 'd:\a\1\s\*****\*****\*****\*****\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.

Проблема в том, чтоэтот файл должен быть сгенерирован путем компиляции ссылочного проекта и не является частью пакета nuget.

Вот мой конвейер сборки, насколько я понял сам.

# Xamarin.Android
# Build a Xamarin.Android project.
# Add steps that test, sign, and distribute an app, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/xamarin

trigger:
- Share/main

pool:
  vmImage: 'VS2017-Win2016'

variables:
  buildConfiguration: 'Debug'
  outputDirectory: '$(build.binariesDirectory)/$(buildConfiguration)'

steps:
- task: NuGetToolInstaller@1
  inputs:
    versionSpec: 5.1.0

- task: NuGetCommand@2
  displayName: 'Restore NuGet Packages'
  inputs:
    command: restore
    restoreSolution: '**/*.sln'    

- task: XamarinAndroid@1
  inputs:    
    projectFile: 'Mobile4/Droid/Mobile4.Droid.csproj'
    outputDirectory: '$(outputDirectory)'
    configuration: '$(buildConfiguration)'

- task: AndroidSigning@3
  inputs: 
    apksign: false
    zipalign: false
    apkFiles: '$(outputDirectory)/*.apk'

- task: PublishBuildArtifacts@1
  inputs:
      pathtoPublish: '$(outputDirectory)'

сборка всегда ломается на шаге XamarinAndroid

Надеюсь, вы мне поможете.Решение должно быть где-то там, я просто не могу видеть это прямо сейчас.Спасибо заранее.Мав

...