提取Visual Studio 2017安装组件列表的最佳方法

Aar*_*k71 9 installation visual-studio-2017

列出Visual Studio 2017安装的已安装组件的最佳方法是什么?

我知道我可以启动Visual Studio安装程序 > 修改并查看那里的工作负载单个组件.

但是似乎没有办法将已安装的组件列表提取到txt文件中?
(我现在正在制作截图以记录我的内容)

有什么办法吗?例如,我可以运行Windows Studio Installer命令行吗?

Iva*_*van 12

基于/sf/answers/3173113121/的精彩回答

这是也适用于VS 构建工具的非交互式代码段
(不仅仅是 Community\Professional\Enterprise)

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module VSSetup -Scope CurrentUser -Force
(Get-VSSetupInstance | Select-VSSetupInstance -Product *).packages
Run Code Online (Sandbox Code Playgroud)

还值得一提的是这个模块的起源:https : //github.com/Microsoft/vssetup.powershell.git

如果您希望使用此信息对工作负载/组件进行脚本化(重新)安装,您可能不关心特定的组件级别(许多组件会自动拉入),而您可能更关心“工作负载”。

Microsoft 文档中提供了完整列表,您可以更改版本以反映 vs 2019 pro 或 vs 2017 buildtools 或其他任何内容。https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-professional?view=vs-2019

这是用于提取已安装工作负载列表的命令(3 个工作负载与 564 个组件......)。

(Get-VSSetupInstance | Select-VSSetupInstance -Product *).packages | Where-Object { $_.Id -like '*Workload*' } | select -ExpandProperty Id
Run Code Online (Sandbox Code Playgroud)

如评论中所述,您可以轻松地将Ids 直接传送到文件,然后在安装脚本中循环遍历这些文件(我使用 ascii 作为编码,因为它在编辑器之间更兼容)。

(Get-VSSetupInstance | Select-VSSetupInstance -Product *).packages | Where-Object { $_.Id -like '*Workload*' } | Select -ExpandProperty Id | Out-File -Encoding ascii -FilePath $HOME/vs-packages.txt
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢您。我喜欢添加`| 选择-展开属性 ID | Out-File -Encoding ascii -FilePath $HOME/vs-packages.txt` 来“备份”组件列表,以便我可以使用 Chocolatey 和 Visualstudio20xx(buildtools|professional) 安装程序可选参数快速安装它们。 (3认同)

小智 10

从WMF 5.0安装powershell 5

在posh控制台中运行以下两个命令:

安装模块VSSetup -Scope CurrentUser(允许nuget安装包)

(get-vssetupinstance | select-vssetupinstance).packages


Mar*_*bel 10

对于较新的版本(至少 2019 年),您可以直接从 VS 安装程序导出设置。在“更多”下拉列表中,您可以导出和导入计算机上安装的每个 VS 的当前配置。

来源: https: //learn.microsoft.com/en-us/shows/visual-studio-toolbox/visual-studio-installation-and-customization(从 07:51 开始)