导入或导出安装配置

可使用安装配置文件来配置 Visual Studio 安装的内容。 为此,请使用 Visual Studio 安装程序将工作负载、组件和市场扩展信息导出到 .vsconfig 文件中。 有了 *.vsconfig 文件后,可以进一步手动优化该文件,并添加或删除其他项目。 *.vsconfig 文件的结构和语法如下所述。 还可以将配置文件导入到新的或现有的 Visual Studio 安装中、使用它来创建或修改布局或脱机安装、将其放入解决方案目录或存储库中并触发缺失组件的安装,以及与他人共享。

使用 Visual Studio 安装程序导出配置

可以从以前安装的 Visual Studio 实例导出安装配置文件。

注意

从 Visual Studio 2022 版本 17.10 预览版开始,现可将加载到实例范围上下文中的 Visual Studio Marketplace 扩展导出到 *.vsconfig 文件中。 如果希望 export 功能能够导出其他类型的扩展,例如从网络共享加载的扩展或用户上下文中加载的扩展,请告知我们

使用 Visual Studio 安装程序 UI

  1. 打开 Visual Studio 安装程序。

  2. 在产品卡中,选择“更多”按钮,然后选择“导出配置”

    从 Visual Studio 安装程序的产品卡中导出配置

  3. 浏览到或键入要保存 .vsconfig 文件的位置,然后选择“查看详细信息”

    从 Visual Studio 安装程序中导出配置

  4. 验证所选内容是否准确,然后选择导出

    “导出”窗口的屏幕截图。

以编程方式导出配置文件

可以通过使用 export 谓词以编程方式导出特定 Visual Studio 实例的配置文件,如从命令行安装 Visual Studio< 文档中所述。

使用 Visual Studio 安装程序导入配置

可将安装配置文件导入到以前安装的 Visual Studio 实例中,也可使用它来初始化新的 Visual Studio 安装。 将配置文件导入 Visual Studio 会安装配置文件中列出的所有尚未安装的内容。

使用 Visual Studio 安装程序 UI

当你准备好导入安装配置文件时,请执行以下步骤。

  1. 打开 Visual Studio 安装程序,并关闭 Visual Studio。 大多数安装程序操作都要求关闭 Visual Studio 产品本身。

  2. 已安装选项卡或可用选项卡上,选择 Visual Studio 产品卡上的更多>导入配置

  3. 找到要导入的 .vsconfig 文件,然后选择查看详细信息

  4. 验证所选内容是否准确,然后选择修改

以编程方式使用配置文件将组件添加到现有安装

可使用 --config 参数来初始化或修改现有安装并添加组件。 以下示例会将客户端计算机上的安装程序用于modify现有安装。

"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "C:\Program Files\Microsoft Visual Studio\2022\Professional" --config "C:\myconfig.vsconfig" --passive --allowUnsignedExtensions

注意

若要使用配置文件 (*.vsconfig) 将组件添加到现有安装,则需要modify已安装的产品,而不是update它。 Update只会将现有的已安装组件更新到最新版本。 若要详细了解不同安装程序操作,请参阅从命令行安装 Visual Studio文档。

使用配置文件初始化布局的内容

使用与所需 Visual Studio 版本对应的正确引导程序,打开管理员命令提示符并运行以下命令,以使用 --config 参数配置布局的内容。 有关使用 *.vsconfig 文件从布局初始化和安装的详细信息,请参阅此处

vs_enterprise.exe --layout "c:\localVSlayout" --config "c:\myconfig.vsconfig" --lang en-US

使用配置文件来自动安装缺少的组件

如果将 *.vsconfig 文件保存到解决方案根目录然后打开解决方案,Visual Studio 则会自动检测缺少的组件并提示你安装它们。

注意

如果 *.vsconfig 文件包含扩展,则目前只有托管在 Visual Studio Marketplace 上的扩展会触发自动“缺失项”检测和安装。 如果希望此逻辑包含从非 Marketplace 位置安装的扩展,则请在此处提供有关你场景的详细信息

解决方案资源管理器建议安装其他组件

此外,还可从解决方案资源管理器生成 *.vsconfig 文件。

  1. 右键单击解决方案文件。

  2. 选择添加>安装配置文件

  3. 确认要保存 .vconfig 文件的位置,然后选择“查看详细信息”

  4. 确保已有所需的工作负载和组件,然后选择“导出”

我们还创建了一个开源实用工具,用于以递归方式查找 Visual Studio 安装配置 *.vsconfig 文件,并将其全部合并在一起。 可在此处找到有关 VSConfigFinder 工具的详细信息

vsconfig 文件格式

*.vsconfig 文件采用 json 文件格式,其中包含 components 部分和 extensions 部分(可选)。 “组件部分包含工作负载和组件,且如下所示:

{
  "version": "1.0", 
  "components": [ 
    "Microsoft.VisualStudio.Component.CoreEditor", 
    "Microsoft.VisualStudio.Workload.CoreEditor", 
    "Microsoft.VisualStudio.Component.NuGet" 
    ] 
}

扩展

Visual Studio 2022 版本 17.9 开始,可在 *.vsconfig 文件中指定扩展,并使用 Visual Studio 安装程序在整个计算机范围内加载它们,从而使其可供所有用户使用。 从 Visual Studio 2022 版本 17.10 预览版开始,现在可使用 Visual Studio 安装程序将 exportVisual Studio Marketplace 扩展到 *.vsconfig 文件中,而该文件是指前面所述已加载到整个实例上下文中的文件。

此配置文件存在某些针对支持扩展的已知注意事项。

  1. 由于通过配置文件加载的扩展是在实例范围内安装的,因此必须具有管理员权限,或者通过 AllowStandardUserControl 策略被授予对安装程序的控制权才能安装它们。 请注意,Visual Studio 扩展管理器以前所安装的所有扩展均可(且之前通常)按用户进行安装,而不是在整个实例范围内安装,且用户无需具有管理员权限即可进行安装。
  2. Visual Studio 安装程序目前仅支持导入某些类型的扩展,例如 *.vsix 包中所含的扩展或不太“复杂”的扩展。 如果某一扩展未通过配置文件正确加载,则请通过提交新的开发者社区建议来告知我们。
  3. 如果 *.vsconfig 文件位于解决方案目录中,则只有 Visual Studio Marketplace 上托管的扩展会触发自动“缺失”检测和安装。 如果希望此逻辑包含从非 Marketplace 位置安装的扩展,则请在此处提供有关你场景的详细信息
  4. 如果以编程方式使用 *.vsconfig 文件添加扩展,则还需要使用新--allowUnsignedExtensions参数,以允许在--passive--quiet上下文中加载签名的扩展。 如果是从布局进行安装,则可以将 "allowUnsignedExtensions" : true 语法添加到 response.json 文件中,以获得类似的效果。

所有实例范围的扩展都会通过计划任务自动更新,大约每天更新一次。 可以在此处查找详细信息

包含扩展的 .vsconfig 文件格式应如下所示。

{
  "version": "1.0", 
  "components": [ 
    // Whatever components you want to install come here, in quotes, separated by commas.
    // You can use the installer to select the components you want to install and then export them,
    // Or you can specify the ones you want according to the [component-id's](https://learn.microsoft.com/en-us/visualstudio/install/workload-and-component-ids).
    // This array should not be null! If you don't want to install any component, just leave the array empty.
  ],
  "extensions": [
    // The extensions you want to install are specified in this section, in quotes, separated by commas.
    // Extensions are optional in .vsconfig, so if you don't want any, you can delete the entire extensions section.
    // The extensions must be in a *.vsix package
    // Make sure that the extensions you specify are designed to work with that version of Visual Studio.
    // examples below
    "https://marketplace.visualstudio.com/items?itemName=MadsKristensen.ImageOptimizer64bit",   //unsigned extension
    "https://marketplace.visualstudio.com/items?itemName=vsext.RegexMatchVisualizer",  //signed extension
    "c:\\mylocaldrive\\someextension.vsix",
    "\\\\server\\share\\myextension.vsix",
    "https://myweb/anotherextension.vsix"
  ]
}

支持或故障排除

有时,你难免遇到一些问题。 如果 Visual Studio 安装失败,请参阅 Visual Studio 安装和升级问题疑难解答获取分步指南。

下面是另外几个支持选项: