Назад | Перейти на главную страницу

; includeРекомендуемая установка рабочих нагрузок Visual Studio Build Tools 2019 через powershell не выполняется

Я пытаюсь установить автоматические инструменты сборки VS Studio 2019 на экземпляр Windows Server 2019 с помощью Powershell. Предполагая, что загрузчик инструментов сборки использует тот же интерфейс командной строки, что и обычные, я хочу установить 2 рабочие нагрузки с их рекомендованными компонентами через --add. Документация MS определяет ;includeRecommended суффикс к WorkloadID. Правильное распознавание командных флагов не удается из-за: в PowerShell. Как я могу сказать загрузчику, что он должен включать рекомендуемые компоненты рабочей нагрузки?

Вывод:

PS C:\Users\Administrator> Invoke-WebRequest https://s3.eu-central-1.amazonaws.com/.../vs_buildtools
__1986933399.1585486755.exe -OutFile c:\vs.exe
PS C:\Users\Administrator> c:\vs.exe --passive --wait `
>> --add Microsoft.VisualStudio.Workload.MSBuildTools;includeRecommended `
>> --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended `
>> --add Microsoft.Component.MSBuild `
>>
includeRecommended : The term 'includeRecommended' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and
try again.
At line:2 char:52
+ ... add Microsoft.VisualStudio.Workload.MSBuildTools;includeRecommended `
+                                                      ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (includeRecommended:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

includeRecommended : The term 'includeRecommended' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and
try again.
At line:3 char:47
+ --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended `
+                                               ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (includeRecommended:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    includeRecommended flag for WorkloadId installment not reconized

заключите значения параметров в кавычки.

c:\vs.exe --passive --wait `
  --add "Microsoft.VisualStudio.Workload.MSBuildTools;includeRecommended" `
  --add "Microsoft.VisualStudio.Workload.VCTools;includeRecommended" `
  --add Microsoft.Component.MSBuild `

В Powershell вы можете запускать несколько команд в одной строке, разделяя их ;. Итак, Powershell считает, что команда заканчивается на ; и ищет командлет со следующим именем.

Кроме того, их экранирование также должно работать:

  --add Microsoft.VisualStudio.Workload.MSBuildTools`;includeRecommended `