我们能看到Visual Studio 2017中的一个重大改进是对安装程序做了完全重写。前期的Visual Studio构建版本都是大一统的,完成安装需要相当长的时间和大量的磁盘空间。因此有需求要对安装过程做一些改进,这在本质上需要改进Visual Studio及其组件的检测方式。
正如Microsoft Heath Stewart所指出的:这些改进意味着即使前期版本所用的方法仍然可用,但已不再是最好的方法了,比如通过查询信息注册表项发现已安装的Visual Studio版本。现在推荐使用Visual Studio的安装查询API作为替代方法。该API设计用于VS2017及以后的版本,可以提供已安装的VS2017版本信息(是社区版、专业版还是企业版)和已安装的各个组件的细节信息。对于构建系统而言,获取当前开发环境信息十分有帮助,使用API可以更轻易地确定自动化构建系统所需的组件是否存在。
开发人员和DevOps人员可使用多种方法了解如何使用及更好地访问这些API。首先,推荐使用一个PowerShell模块,该模块的功能包括搜索已安装的VS2017版本,以及检查已安装组件的存在。
对于那些想要找到独立可执行程序的人,Stewart推荐了vswhere。vswhere也是一个独立可执行文件,实现了上述PowerShell模块的部分功能。vswhere可从GitHub获取,非常容易编译成可用的格式。最后一点,对于那些关注查询API本身更多细节问题的人,我们推荐一个提供C#、C++和Visual Basic等基本示例的代码库。
本文转自d1net(转载)