У меня есть проект, который использует как общедоступные, так и частные репозитории 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.
Пробные исправления и последующие комментарии / обсуждения после первоначального сообщения:
- Попробовано несколько пулов, все сбои.
- Это встроено в VS 2017& 2019 на профессионалах и предприятиях на разных компьютерах.
- Ошибка
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 не показывает ошибок или пропусков. - Следующие исправления не работали:
- Как обойти предупреждение Microsoft.Bcl.Build
- Что делает пакет Microsoft.Bcl.Build NuGet?