简体   繁体   中英

How can I change the VSBuild agent location on Azure Devops?

We have a project, where I wanted to check in a PR, and the build went wrong couple days ago. Turned out, that without any code / pipeline change, Azure Devops build went wrong with the following error script.

I found many solutions on net, mostly for local errors, but neither solved my issue.

We use VS2019 on our computer (without any issue), with .Net Core 2.2 and Angular 6.

Log:

 gyp verb using MSBuild: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
  gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
  gyp info spawn args [
  gyp info spawn args   'build/binding.sln',
  gyp info spawn args   '/nologo',
  gyp info spawn args   '/p:Configuration=Release;Platform=x64'
  gyp info spawn args ]
  gyp ERR! UNCAUGHT EXCEPTION 
##[error]EXEC(0,0): Error : spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\15.0\Bin\MSBuild.exe ENOENT
EXEC : gyp ERR! stack error : spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\15.0\Bin\MSBuild.exe ENOENT [d:\a\1\s\Web\Web.csproj]
  gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19)
  gyp ERR! stack     at onErrorNT (internal/child_process.js:456:16)
  gyp ERR! stack     at processTicksAndRejections (internal/process/task_queues.js:80:21)
  gyp ERR! System Windows_NT 10.0.17763
  gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "d:\\a\\1\\s\\Web\\ClientApp\\node_modules\\@angular-devkit\\build-angular\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
  gyp ERR! cwd d:\a\1\s\Web\ClientApp\node_modules\@angular-devkit\build-angular\node_modules\node-sass
  gyp ERR! node -v v12.13.1
  gyp ERR! node-gyp -v v3.8.0
  gyp ERR! This is a bug in `node-gyp`.
  gyp ERR! Try to update node-gyp and file an Issue if it does not help:
  gyp ERR!     <https://github.com/nodejs/node-gyp/issues>
##[error]EXEC(0,0): Error code: 7
EXEC : Build failed with error code: 7 [d:\a\1\s\Web\Web.csproj]

yml:

trigger:
- master

pool:
  vmImage: 'windows-latest'

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

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- 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)'
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

I assume that the problem will be the msbuild version at this point, but no idea (and couldn't find) how to solve that on the hosted agent.

Thanks a lot.

临时解决方案可以是向管道添加新节点任务,在其中将节点版本设置为旧版本(例如,10.16.3 应该可以工作)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM