1
votes

I have a project that pulls from both public and private NuGet repositories. This works. But what doesn't seem to work is that the build on CI fails because of Microsoft.Bcl.Build, which should have gotten downloaded from the Nuget Restore Step

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'

In the sample above, I have tried both using and removing /p:BclBuildImported=Ignore'.

The library I am using has BCL ref in it, so I cannot remove that dependancy. And this code falls apart when I switch it to core.

Everything does work when I build it in Visual Studio 2019 Ent, and Pro, just refuses to build on MS DevOps, on the Hosted 2017 platform.

Tried fixes, and comment/discussion follow-up since initial post:

  1. Multiple pools have been tried, all failing.
  2. This does build in VS 2017 & 2019 on pro and enterprise on various desktops.
  3. The error is 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. even though all packages are being installed, and the Nuget download shows no errors or skips.
  4. The following fixes have not worked:
    1. How to bypass Microsoft.Bcl.Build warning
    2. What does the Microsoft.Bcl.Build NuGet package do?
1

1 Answers

0
votes

Have you tried MS DevOps, on the Hosted 2019 platform, instead of using a 2017 Host?

Hosted Windows 2019 with VS2019