Канал DevOps CI терпит неудачу, требуя Microsoft.Bcl.Build - PullRequest
1 голос
/ 19 апреля 2019

У меня есть проект, который использует как общедоступные, так и частные репозитории NuGet.Это работает.Но что не работает, так это то, что сборка на CI не удалась из-за Microsoft.Bcl.Build, который должен был быть загружен с шага восстановления Nuget

trigger:
- master

pool:
  vmImage: 'windows-2019'
  demands:
  - msbuild
  - visualstudio
  - VSTest
  - DotNetFramework

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

steps:
- task: NuGetToolInstaller@0
  displayName: 'Use NuGet 4.4.1'
  inputs:
    versionSpec: 4.4.1

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '$(Parameters.solution)'
    feedsToUse: config
    nugetConfigPath: .nuget/NuGet.Config

- task: VSBuild@1
  displayName: 'Run Build on solution.'
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)" /p:BclBuildImported=Ignore'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
    logFileVerbosity: 'diagnostic'

В приведенном выше примере я попыталсяс использованием и удалением /p:BclBuildImported=Ignore'.

Используемая мной библиотека содержит ссылку BCL, поэтому я не могу удалить эту зависимость.И этот код разваливается, когда я переключаю его на ядро.

Все работает, когда я собираю его в Visual Studio 2019 Ent, а Pro просто отказывается от сборки на MS DevOps, на платформе Hosted 2017.

Пробные исправления и последующие комментарии / обсуждения после первоначального сообщения:

  1. Попробовано несколько пулов, все сбои.
  2. Это встроено в VS 2017& 2019 на профессионалах и предприятиях на разных компьютерах.
  3. Ошибка This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets., даже если устанавливаются все пакеты, и загрузка Nuget не показывает ошибок или пропусков.
  4. Следующие исправления не работали:
    1. Как обойти предупреждение Microsoft.Bcl.Build
    2. Что делает пакет Microsoft.Bcl.Build NuGet?

1 Ответ

0 голосов
/ 19 апреля 2019

Вы пробовали MS DevOps на платформе Hosted 2019 вместо хоста 2017 года?

Хостинг Windows 2019 с VS2019

...