Запустите PowerShell для разработчиков для VS 2019 с конвейера Azure DevOps - PullRequest
1 голос
/ 23 января 2020

Мы сконфигурировали виртуальную машину windows и развернули там агент для создания нашего кода и запуска сценариев.

В нашей виртуальной машине мы имеем два различных варианта командной строки PowerShell:

  1. Windows PowerShell
  2. Разработчик PowerShell для VS 2019.

Как запустить "Developer PowerShell для VS 2019" из нашего конвейерного сценария YAML и выполнить наш проверенный .ps1 файл там?

Существует несколько разновидностей задач PowerShell, которые можно запускать из конвейера, хотя и не уверены, какая из них будет служить цели. Они следующие:

  1. Azure PowerShell
  2. PowerShell
  3. PowerShell на целевой машине
  4. Сервис Fabri c PowerShell.

Что из вышеперечисленного означает «Разработчик PowerShell для VS 2019»?

Причина этого специфического c варианта PowerShell:

  1. Необходимо есть некоторые из. NET Framework Tools (CorFlags.exe), которые доступны только в «Developer PowerShell для VS 2019», но не доступны в другом.

1 Ответ

1 голос
/ 24 января 2020

Developer PowerShell для VS 2019 - это обычный PowerShell с импортированным модулем, вы можете точно увидеть, что следующим образом:

  • Go меню Пуск и поиск для Developer PowerShell для VS 2019 .
  • Щелкните правой кнопкой мыши по нему и Откройте расположение файла - вы получите это:

enter image description here

  • Теперь снова щелкните правой кнопкой мыши ярлык Developer PowerShell для VS 2019 и Свойства .

  • Вы увидите в расположении , которое запускает обычный PowerShell с некоторой командой:

    C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -noe -c "&{Import-Module """C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell bc97b47b}"

enter image description here

Теперь, если вы откроете PowerShell и запустите там скрипт:

&{Import-Module "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"; Enter-VsDevShell bc97b47b}

Вы получите Developer PowerShell для VS 2019 и CoreFlags.exe будет работать:

enter image description here

Итак, вам нужно использовать обычную задачу PowerShell (ваш вариант 2) и выполнить указанную выше команду в начале о f сценарий.

Примечание: вы должны скопировать именно ту команду, которую видите в Свойства , на каждом компьютере она может быть разной.

...