从 Visual Studio 2017 开始,可以安装同一版本甚至版本的多个实例。 如果要在主开发计算机上预览新功能,同时保留以前的安装,这非常有用。 由于这些更改,因此没有可用于查找实例的单个环境变量或注册表值。 相反,可以使用 COM 查询 API 根据与扩展相关的条件查找实例。
这是一个快速的只读 API,其中包含可用于本机和托管代码的 NuGet 包。
| Code | Package |
|---|---|
| Native | https://nuget.org/packages/Microsoft.VisualStudio.Setup.Configuration.Native |
| 托管 | https://nuget.org/packages/Microsoft.VisualStudio.Setup.Configuration.Interop |
可以在给定路径或当前进程的情况下找到单个实例,或枚举所有实例。 有关如何查找 Visual Studio 的完整示例,请参阅 我们的示例 。
Tools
若要在构建环境中查找 Visual Studio 和其他工具、PowerShell 脚本、安装程序以及其他场景中使用的工具,您可以使用许多开源工具,这些工具可以直接使用,也可以与您自己的脚本一起重新分发。
| 项目 | Description |
|---|---|
| vswhere | 单文件本地可执行文件用于定位符合特定条件的实例,比如发布或预发布版本、已安装的产品以及已安装的工作负载。 此外还支持查找 Visual Studio 2010 及更新版本,但对于 Visual Studio 2017 和更新版本,返回的信息较少。 有关示例,请参阅 wiki 。 |
| VSSetup cmdlets | PowerShell cmdlets 支持 2.0 及更高版本,这些 cmdlets 返回丰富的信息,作为对象可用于根据与 vswhere 相同的条件查找实例,并发现实例的更多属性。 有关示例,请参阅 wiki 。 |
| VSIXBootstrapper | 自动找到 VSIXInstaller 并传递命令行以安装 *.vsix 文件。 此功能在对查询 API 没有直接支持的安装程序中非常有用。 有关示例,请参阅 wiki 。 |