Почему путь к моей команде MSbuild недоступен, если я меняю свой агент DevOps Azure? - PullRequest
0 голосов
/ 25 апреля 2019

Задача моей сборки Azure DevOps не может найти путь к моему решению, когда я перехожу с «размещенного» агента на « размещенный VS2017 ».

Меняется ли организация папок с агента на другого?

Моё решение на C # использовалось для работы с .NET Framework 4.6, и сейчас я ссылаюсь на 4.7.1 версию . Поэтому мне, очевидно, нужно использовать агент «Hosted VS2017» вместо агента по умолчанию «Hosted». Но задача, которая использует gulpfile, не выполняется при попытке построить мое решение. Я попытался выполнить сборку с диагностикой, но не получил больше информации, чем " Система не может найти указанный путь. " в моей первой команде MSbuild.

---

[command]C:\npm\prefix\gulp.cmd CI-default --gulpfile D:\a\1\s\source\back-end\gulpfile.js
[‌15:41:53‌] Using gulpfile D:\a\1\s\source\back-end\gulpfile.js‌
[‌15:41:53‌] Starting 'CI-default'...‌
[‌15:41:53‌] Starting 'Publish-All-Projects'...‌
[‌15:41:53‌] Starting 'Build-Solution'...‌
[‌15:41:53‌] Using automatic maxcpucount‌
The system cannot find the path specified.
[‌15:41:53‌] { Error: Command failed: "C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" "D:\a\1\s\source\back-end\******.sln" "/target:Build" /verbosity:minimal /toolsversion:14.0 /nologo /maxcpucount /property:Configuration="Release"‌
The system cannot find the path specified.

 at ChildProcess.exithandler (child_process.js:294:12)
    at ChildProcess.emit (events.js:189:13)
    at maybeClose (internal/child_process.js:970:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
  killed: false,
  code: 1,
  signal: null,
  cmd:
   '"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe" "D:\\a\\1\\s\\source\\back-end\\ALE.sln" "/target:Build" /verbosity:minimal /toolsversion:14.0 /nologo /maxcpucount /property:Configuration="Release"' }


---

Сборка завершается неудачно на этих шагах, но должна выполняться правильно (на самом деле это происходит, когда я делаю это с агентом по умолчанию «Hosted» или на моей локальной машине с Visual Studio)

1 Ответ

2 голосов
/ 25 апреля 2019

Почему путь к моей команде MSbuild недоступен, если я меняю свой агент DevOps Azure?

Это потому, что Visual Studio 2015 по умолчанию установлен на агенте " Hosted " и Hosted VS2017 с Visual Studio 2017 по умолчанию.

Однако пути для MSBuild 14.0 и 15.0 различны.

Путь по умолчанию для MSBuild 14.0 - C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe.

Но путь по умолчанию для MSBuild 15.0 , путь C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe.

Итак, чтобы решить эту проблему, вы должны изменить MSBuild в ваших сценариях CMD:

 cmd:
   '"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\MSBuild.exe"

К

 cmd:
   C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\MSBuild\\15.0\Bin\\MSBuild.exe

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...