У меня ошибка при использовании артефактов, когда я хотел бы сделать сборку - PullRequest
0 голосов
/ 20 мая 2019

Я использую AzureDevOps для своего сервиса .netCore, но когда я делаю сборку, у меня возникает проблема с версиями.

Этот сервис использует nugetFeed, и мой файл YML выглядит так:

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:


  -task: NuGetCommand@2
  inputs:
    command: 'restore'
    restoreSolution: '**/*.sln'
    feedsToUse: 'select'
    vstsFeed: 'FeedsName'
    includeNuGetOrg: false
    versioningScheme: 'off'

  -task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

Я не понимаю, почему, если я загружаю свой код и компилирую с использованием VS, у меня нет проблем, но создаю этот файл для сборки. У меня есть ответ:

[error] Сбой команды nuget с кодом выхода (1) и ошибкой (ошибки в d: \ a \ 1 \ s \ XXX.Services.XXX.DTO \ XXX.Services.XXX.DTO.csproj

Unable to resolve 'System.Xml.XmlDocument (>= 4.3.0)' for '.NETCoreApp,Version=v2.1'.
Unable to resolve 'System.Runtime.Serialization.Formatters (>= 4.3.0)' for '.NETCoreApp,Version=v2.1'.

Спасибо за помощь!

1 Ответ

0 голосов
/ 20 мая 2019

Вам не хватает задачи «Установщик инструмента nuget» перед вашей командой nuget, в противном случае nuget запускается с устаревшей версией nuget (4.1 по умолчанию, 4.3 или новее для netstandard и netcore). Visual-studio уже содержит обновленную версию nuget.

добавьте следующее к вашему yaml перед вашей командой nuget:

- task: NuGetToolInstaller@0
  displayName: 'Install Nuget'
  inputs:
    versionSpec: '4.x'
    checkLatest: true
...