#检测 #查询 #Visual Studio #vs2017

构建 vswhere

提供对调用和捕获 vswhere 工具输出的支持

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年6月30日

#471 in 构建工具

Apache-2.0 OR MIT

28KB
514

vswhere-rs

Travis CI AppVeyor Crates.io Docs.rs

提供对调用和捕获 vswhere 工具输出的支持。

背景

从 2017 版本开始,Visual Studio 产品支持并行安装。这意味着 Windows 注册表不再足以存储关于已安装的 Visual Studio 实例的信息,需要更复杂的方法进行检测。vswhere 是来自微软的一个开源实用工具,它使用基于 COM 的查询 API,并以几种格式之一(文本、JSON、XML)生成输出。通过这个 crate,Rust 代码可以以惯用的方式将参数传递给、调用并从 vswhere 获取输出。

需求

此 crate 与 vswhere 2.5.2 或更高版本兼容。由于旧版本不接受 -utf8 标志,该标志强制 vswhere 生成 UTF-8 编码的输出(否则 vswhere 使用系统默认编码),因此不支持旧版本。vswhere 可以通过以下三种方式之一进行安装

  • 通过 Chocolatey(推荐 - 包页面 在此处);
  • 作为 Visual Studio 安装程序的一部分(vswhere.exe 将位于 %ProgramFiles(x86)%\Microsoft Visual Studio\Installer - 注意捆绑的版本通常过时);
  • 手动,通过将 vswhere.exe 下载到所需位置。

示例

extern crate vswhere;

use vswhere::Config;

fn main() {
    println!("{:?}", Config::run_default_path().unwrap());
}

许可

根据您选择以下之一进行许可

由您选择。

贡献

除非您明确声明,否则任何有意提交以包含在作品中并由您定义的 Apache-2.0 许可证所涵盖的贡献,应按上述方式双重许可,而无需任何额外的条款或条件。

依赖关系

~0–1MB
~21K SLoC