Skip to content

下载命令 ​

download 命令从 Microsoft 服务器下载 MSVC 编译器和/或 Windows SDK。

基本用法 ​

bash
# 下载最新的 MSVC 和 Windows SDK
msvc-kit download

选项 ​

版本选择 ​

bash
# 指定 MSVC 版本
msvc-kit download --msvc-version 14.44

# 指定 SDK 版本
msvc-kit download --sdk-version 10.0.26100.0

# 同时指定
msvc-kit download --msvc-version 14.44 --sdk-version 10.0.26100.0

组件选择 ​

bash
# 仅下载 MSVC(跳过 SDK)
msvc-kit download --no-sdk

# 仅下载 SDK(跳过 MSVC)
msvc-kit download --no-msvc

目标目录 ​

bash
# 自定义安装目录
msvc-kit download --target C:\msvc-kit

架构 ​

bash
# 目标架构(默认:x64)
msvc-kit download --arch x64

支持的架构:

  • x64 - 64 位 x86
  • x86 - 32 位 x86
  • arm64 - ARM64
  • arm - ARM 32 位(仅目标)

主机架构由当前运行的机器自动检测,download 无法覆盖:它始终下载与主机匹配的交叉编译器。 只有 msvc-kit bundle --host-arch <arch> 支持显式指定主机架构。

Visual Studio Channel ​

包是从 Visual Studio channel manifest 中发现的。默认使用最新且可用的 channel; 需要固定在某个 Visual Studio 版本时可以显式指定:

bash
# 用大版本号或发布年份固定
msvc-kit download --vs-channel 17
msvc-kit download --vs-channel 2022

# 环境变量 / 配置
MSVC_KIT_VS_CHANNEL=17 msvc-kit download
msvc-kit config --set-vs-channel 2022

详见 Visual Studio 版本与 Channel。

可选组件选择 ​

bash
# 追加可选 MSVC 组件(可重复)
msvc-kit download --include-component spectre --include-component mfc

# 排除包名包含指定内容的包(大小写不敏感,可重复)
msvc-kit download --exclude-pattern spectre

--include-component 接受 spectre、mfc、atl、asan、uwp、cli、modules、redist 和 custom:<pattern>。标准工具链(Tools、CRT、MFC、ATL)始终会下载,这两个 flag 只在其之上增删包。

下载选项 ​

bash
# 并行下载数(默认:4)
msvc-kit download --parallel-downloads 8

# 跳过哈希验证(不推荐)
msvc-kit download --no-verify

完整示例 ​

bash
msvc-kit download \
  --msvc-version 14.44 \
  --sdk-version 10.0.26100.0 \
  --target C:\msvc-kit \
  --arch x64 \
  --parallel-downloads 8

下载进度 ​

下载会显示每个包的进度:

正在下载 MSVC 包...
[1/15] Microsoft.VC.14.44.17.14.CRT.Headers.x64 (2.3 MB)
[2/15] Microsoft.VC.14.44.17.14.CRT.Source (1.1 MB)
...

缓存行为 ​

下载会被缓存,如果已存在则跳过:

状态含义
cached文件存在于索引中且哈希匹配
304服务器返回未修改(ETag 匹配)
size match文件大小匹配预期(尽力而为)

要强制重新下载,请先使用 msvc-kit clean --cache。

可用版本 ​

下载前列出可用版本:

bash
msvc-kit list --available

输出:

可用的 MSVC 版本:
  14.44.34823
  14.43.34808
  14.42.34433
  ...

可用的 SDK 版本:
  10.0.26100.0
  10.0.22621.0
  10.0.22000.0
  ...

Released under the MIT License.