多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

VS2019安装完整指南:组件选择、离线部署与常见坑规避

VS2019安装完整指南:组件选择、离线部署与常见坑规避 简介一份面向 VS2019 初学者及日常开发者的超详细安装与配置教程围绕官网社区版下载、安装位置选择、语言包设置、首个项目创建、代码编写及常见报错处理展开帮助读者快速完成环境搭建并避开典型坑点。资源为单个 PDF 图文文档压缩包约 1.2MB以步骤截图与要点说明为主线覆盖多字节字符集修改、SDL 安全检查关闭、C 万能头文件限制、x86 调试运行等关键知识点既适合第一次安装的新手按图操作也可供已有用户遇到报错时快速排查。目前已有 4386 人学习下载教程按安装、配置、排错顺序组织查阅方便。通过这份资料读者能系统掌握 VS2019 从下载到运行的全流程清晰理解安装位置、语言包、字符集等配置的作用并知道删除不彻底、修改后缀名、scanf 类不安全函数等常见问题如何规避减少反复重装与调试的时间成本提升日常编码效率。1. vs2019 安装是个反复的工程先想清楚再动手装 vs2019 这件事表面看是一个向导点到底真正做起来绝大多数人卡在三个地方第一次装不知道勾哪个工作负载装到一半网络断了第二次装是为了复现团队成员的环境结果官网的旧版本入口不好找第三次是装完之后Qt 工具链、Fortran 编译器、项目编码等问题一个接一个补。vs2019 安装并不仅仅指“把 IDE 装上去”它还包括组件选型、离线包准备、许可证处理和后期的工具链匹配是一套完整的工程动作。这篇内容适合三种人新配的电脑要装 C/C 或 Python 开发环境的初学者被老项目锁在 vs2019、需要在内网批量复现环境的实施人员以及已经装完 VS 但一编译就报错、正在排查杂症的人。下面按“先选什么、再怎么装、装完怎么调、翻车怎么修、最后怎么验收”的顺序讲中间会给你可以直接抄的命令和参数。2. 安装前的“减法”版本、工作负载和离线安装包怎么选2.1 版本不是越全越好Community、Professional、Enterprise 的实际差别vs2019 分 Community、Professional、Enterprise 三个版本。很多人一上来就问应该下哪个我的回答永远是先装 Community除非公司采购了付费订阅并明确要求用 Enterprise。Community 对个人开发者免费绝大多数学习项目和开源项目用它完全够同一份代码在 Community 和 Enterprise 下编译出的二进制在编译器和运行时层面没有差别。差别主要在测试工具、架构分析、IntelliTrace 这类重度团队功能普通程序员日常根本碰不到。为什么不建议直接上企业版一是许可证贵二是一旦许可证过期IDE 会频繁弹激活窗口弹得比软件本身的错误提示还勤快。我见过同事图省事填了一个网上流传的密钥结果半个月后提示被吊销整个 IDE 进入类似只读的降级状态最后只能重装。所以我的习惯是自己的机器装 Community公司有付费订阅再统一用企业版。许可证细节不要听群里说“绝对免费”就当真以微软官网的说明为准至少先避免找第三方密钥这条路。2.2 离线安装包先在有网的机器上准备好 layout 目录离线安装是 vs2019 最值得提前准备的部分。微软官网下载到的 vs_community.exe 是一个引导器不是完整安装包双击后它还会再拉好几个 GB 的组件。对于要交付的主机、内网环境或者网络不稳定的人群强烈建议先做 layout。layout 就是“离线安装源目录”把组件全部缓存到本地后续安装不再依赖公网。准备方法找一台能正常访问微软官网的 Windows 机器下载引导器放到干净的目录然后执行vs_setup.exe --layout D:\vs2019_layout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --lang zh-CN这条命令会下载“使用 C 的桌面开发”工作负载及其推荐组件到 D:\vs2019_layout。参数含义--layout 指定离线目录--add 指定要缓存的工作负载--includeRecommended 表示把该工作负载下的推荐组件一并下载--lang zh-CN 同时缓存中文语言包。下载时间和体积取决于你 --add 了多少负载只做 C 桌面开发大约需要 10GB 左右的空间。缓存完成后把这个目录共享给目标机器在目标机器上执行vs_setup.exe --layout D:\vs2019_layout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --lang zh-CN --quiet --wait这里注意即便有了本地 layout如果目标机器能上外网安装器仍可能尝试连接官网检查更新导致等待时间变长。最稳妥的做法是在无外网环境下安装让安装器只用本地源。--quiet 表示不弹界面--wait 表示命令行会等待安装进程完全结束才返回适合脚本批量部署。提示layout 目录千万不要放到系统盘。见过有人把离线源放在 C 盘安装到一半报“磁盘空间不足”然后开始手动清理临时文件越清越乱。layout 建议放独立的 D 盘目录安装完暂时别删后续补组件时还能继续用。2.3 工作负载的精简原则只勾到达目标的最小集合vs2019 安装器把功能拆成一个个工作负载。很多人第一次装图省事把所有工作负载全部勾上结果安装耗时两小时、占用 90GB、还经常中途失败。全选是最经典的翻车方式因为工作负载之间没有严格的依赖校验全选会拉入大量重复组件。我的习惯是按目标勾选至少先对照下面这张表日常目标勾选的工作负载备注写 C/C 桌面程序使用 C 的桌面开发自带 MSBuild 与 v142 工具集写 C# / .NET 应用.NET 桌面开发不要顺手勾跨平台开发那会重很多同时折腾 Python 脚本Python 开发集成了 Python 解释器与调试做 Qt 桌面程序使用 C 的桌面开发Qt 本身不内置要另外装只想打开别人给的 sln先勾能编译的负载缺了再补vs2019 支持后续“修改”补装“单个组件”页面按需补Windows 10 SDK、Windows Universal CRT、C x64/x86 生成工具、Git for Windows。但 SDK 版本不是越新越好新 SDK 有时会和旧项目目标框架冲突。“单个组件”里通常能看见多个 Windows 10 SDK 版本勾与项目目标一致的别全勾。第一次装不要试图把所有功能装齐vs2019 的“后悔药”就是安装器里的“修改”按钮后面缺什么补什么比一次贪多快得多。3. 从下载引导器到跑通第一个项目vs2019 安装全流程3.1 第一步从官网拿引导器而不是下载完整的安装包进入微软 Visual Studio 下载页面找 vs2019 的下载入口。页面提供的是vs_community.exe这类引导器大小只有几 MB不是最终安装包。双击引导器之后它才开始分期下载 IDE 核心和工作负载。官网不提供一整个 ISO 版的 vs2019 安装包所以不要花时间找完整离线安装包直接用引导器或者前面讲的 layout 方式。下载引导器时留意版本标识确认是 Visual Studio 2019 而不是 2022 或 2025。老版本入口通常在下载页的“以前发布的版本”或“其他工具”区域。如果你是在内网离线环境引导器要从有网的机器通过 layout 方式带过来不要尝试在内网机器上下载引导器那样只会停在 0%。3.2 第二步勾选组件并确定安装路径附常用组件表启动引导器后先签协议然后进入工作负载选择界面。这里我建议先选“使用 C 的桌面开发”和“Python 开发”这两个是大多数人打开 vs2019 的最初动机。选完工作负载后界面下方会汇总安装大小同时可以选择安装位置。关于安装路径如果你的 C 盘是固态且空间充足放默认路径没问题VS 在默认路径下遇到的权限问题反而少。如果 C 盘紧张把 IDE 安装到 D 盘例如D:\VisualStudio2019但要注意缓存目录仍大概率落在系统盘在C:\ProgramData\Microsoft\VisualStudio\Packages下面。所以真正决定系统盘压力的不是 IDE 装哪而是组件缓存在哪。可以提前清理 C 盘确保剩余空间在 40GB 以上再开始。常见工作负载对应的功能范围可以参照下面这张表工作负载装了什么什么情况下用使用 C 的桌面开发VC 工具集、MSBuild、Windows SDK、C 调试器绝大多数 C/C 项目.NET 桌面开发.NET Framework、C#、VB 项目模板WinForms、WPF、控制台应用Python 开发Python 解释器、调试器、conda 支持脚本调试与混合开发使用 UWP 的开发UWP 项目模板、模拟器只做 Windows 商店应用时数据存储和处理SQL Server Data Tools、数据源连接做数据库项目时安装过程中界面会显示每个组件的下载进度。这时不要去反复重启机器也不要点“取消”后重试很容易造成组件缓存残留。如果网络中断先让引导器自行重试几次如果一直卡住不动再按第 5 章的方法排查。3.3 第三步命令行安装——让自动化和团队复现更省事除了图形界面vs2019 完全支持命令行安装。团队环境统一安装时命令行方案比人工点选更可靠也能保证所有人的组件列表完全一致。常见写法是vs_setup.exe --installPath D:\VisualStudio2019\Community --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Component.Windows10SDK.19041 --includeRecommended --quiet这条命令把 IDE 装到 D:\VisualStudio2019\Community同时安装 C 桌面负载和一个指定版本的 Windows 10 SDK。--installPath 之后如果路径已经存在旧安装会变成修改操作--add 可以多次出现每次指定一个负载或单个组件--includeRecommended 同样适用。命令行安装的日志默认写在%TEMP%目录下文件名以dd_setup_开头。如果命令执行后没有任何提示或者你不知道卡在哪一步直接去这个目录里按时间排序找最新的日志文件。日志里面会写正在下载哪个组件、访问了哪个地址、失败的错误码是什么。命令行方式最大的优点是“可复制”同一段命令可以发给团队里的任何人不用一遍遍截图教人勾选。3.4 第四步许可证和产品密钥的处理安装完成后第一次启动 vs2019可能会提示登录微软账号。这个登录不是强制性的不登录也能正常编译登录只是为了同步主题、代码片段和 Azure 相关服务。个人开发者直接选“以后再说”就能进入 IDE。许可证入口在“帮助 → 注册产品”里。如果你的版本是 Community通常显示“已授权”不需要填任何密钥。这里就要说到检索热度很高的“vs2019产品密钥”了不要从第三方网站找所谓全网通用密钥。那些密钥大多是企业版批量授权填进去当时可能不报错过一段时间会提示“许可证已吊销”或“密钥与产品版本不匹配”进入降级状态逼你重新激活。正规路径只有两条Community 免费版直接用公司采购的订阅密钥在“注册产品”里输入填完重启 IDE 生效。填非正规密钥是给自己挖坑属于血泪经验不要碰。4. 安装不是终点Qt、Fortran、MSI 与日常环境处理技巧4.1 打开开发者命令行的正确姿势别在普通 PowerShell 里敲 msbuildvs2019 装完很多人打开普通 PowerShell 敲 msbuild提示“不是内部或外部命令”就开始怀疑安装失败。其实 IDE 明明能用只是普通终端没有加载 VS 的环境变量INCLUDE、LIB、PATH 里都没加工具链路径。正确入口是“开始菜单 → Visual Studio 2019 → Developer Command Prompt for VS 2019”这是一个已经配置好环境变量的终端。开发者命令行打开后可以直接执行cl msbuild /version如果找不到这个快捷入口也可以先定位 vswhere再通过它找到某个版本的开发者命令行批处理文件。日常调试时我只在开发者命令行里跑 CLI 工具链IDE 里编译则不受影响。这个细节不算知识盲区但能省掉大量“为什么命令行编译不过”的困惑。4.2 vs2019 与 Qt 版本的匹配对应哪个版本才不会翻车检索里“vs2019 对应qt哪个版本”很常见说明这里坑确实大。Qt 的预编译库分 msvc2017、msvc2019 等标签。VS 2019 应该使用 msvc2019 的库如果你拿 msvc2017 的库配 vs2019编译时可能勉强通过到链接阶段就会报“无法解析的外部符号”尤其是 Debug 模式下症状非常难查。Qt 官方下载页面通常会提供标着 msvc2019 的预编译包64 位程序就选带_64的那个。安装 Qt 之后还要在 vs2019 里装“Qt VS Tools”扩展路径在“扩展 → 管理扩展 → 联机”搜索 Qt Visual Studio Tools 后安装。装好扩展后打开 .pro 文件或者工程右键菜单里的“Qt Project Settings”把 Qt 版本指向本地 Qt 安装目录。完整链路由编译器工具集、Qt 库和 IDE 插件三段构成缺任何一段都会翻车。常见坑是在 Qt Creator 里能编译切到 vs2019 就挂那多半是插件还没给这个项目指定 Qt 路径。4.3 Intel Fortran 安装后找不到 Fortran 项目模板Intel Fortran 装完vs2019 的“新建项目”里却找不到 Fortran 模板这类问题在装了 Intel Parallel Studio 后很常见。原因一般是 VS 的“使用 C 的桌面开发”负载没装完整Intel 的集成组件在注册 VC 项目类型时找不到对应的工具集信息。解决方案分三步第一步打开 Visual Studio Installer勾选“使用 C 的桌面开发”并把“适用于最新 v142 生成工具的 C”组件也选上第二步重新运行 Intel Fortran 安装包选择“修复”或“修改”让它重新执行 VS 集成注册第三步重启 vs2019。如果还不行用管理员身份运行devenv /installvstemplates强制重新注册项目模板。这个现象和“安装器本身有没有装成功”无关纯粹是注册顺序问题所以不用急着卸载 VS。4.4 MSI 安装与修复msiexec 的几个实用参数热词里“msi文件怎么安装”也属于 vs2019 周边的高频问题。VS 相关的运行库比如 VC Redistributable大部分以 MSI 形式分发。最直接的安装方式是右键文件选择“安装”但一旦遇到卸载不干净、修复失败或者需要批量部署的场景还是要用 msiexec 命令。msiexec /i D:\downloads\vc_redist_2019.msi /quiet /norestart msiexec /x D:\downloads\vc_redist_2019.msi /quiet第一行是静默安装第二行是静默卸载。参数里/i表示安装/x表示卸载/quiet不让界面弹窗/norestart禁止安装完自动重启这几个参数组合起来非常适合批量部署脚本。如果安装时提示“另一个安装正在进行”通常是 Windows Installer 服务还没释放资源等待几分钟后重新执行。使用 msi 命令前注意右键文件确认数字签名存在避免拿到被二次打包的运行时组件。4.5 顺手把 IDE 调成顺手的状态几个零散但好用的设置项“工具 → 选项 → 环境 → 启动”关闭“启动时打开起始页”IDE 打开速度会快一点“文本编辑器 → C/C → 常规”勾选“行号”“环境 → 文档”尝试开启“保存时使用 UTF-8”这能缓解一部分中文乱码问题。vs2019 自带的 Git 集成也会在创建项目时自动生成 .gitignore建议保留。它的 Microsoft 账号登录偶尔会提示同步失败不影响本地编译不用管。5. 常见问题与避坑指南安装失败和编译翻车的 6 条记录5.1 安装卡在 0% 或“正在下载”不动现象双击 vs_community.exe 后窗口长时间停在 0%或者组件下载进度条纹丝不动。原因引导器阶段需要连接微软的下载端点如果本机网络出口异常TLS 握手会失败但安装界面不直接显示原因只显示 0%。另外系统时间偏差过大也会导致证书校验失败表现一模一样。解决先校准系统时间和时区再以管理员身份重新运行引导器。如果走命令行安装查看%TEMP%下最新的dd_setup_*.log日志里会写具体的 HTTP 状态码和失败地址。按照日志里的失败点去调整网络环境比反复重试有用得多。5.2 磁盘空间明明够却提示不足现象安装到三分之二进度时弹出“磁盘空间不足”检查 C 盘明明还有 20GB。原因vs2019 会把组件解压缓存放在C:\ProgramData\Microsoft\VisualStudio\Packages即使 IDE 本体装在 D 盘这个缓存也占 C 盘。20GB 看着多C 工作负载一开就吃掉十几 GB再加上 Windows 更新临时文件瞬间告急。解决安装前先清理 C 盘确保剩余不低于 40GB或者用第 2 章的 layout 方式离线安装把缓存目录整体放到非系统盘。我见过装完以后 C 盘从 30GB 富裕变成 5GB 告急的机器最后只能把 Packages 目录迁移到 D 盘再做目录联接操作繁琐且容易留隐患。现在装任何 VS 版本我都会先看一眼 C 盘善用空间再说。5.3 项目报“无法打开包括文件: vcruntime.h”现象新建 C 项目没有问题一编译就报“无法打开包括文件: vcruntime.h”或“cannot open include file: stdio.h”。原因VS 里只装了“.NET 桌面开发”或“Python 开发”没有装“使用 C 的桌面开发”。IDE 的 C 项目模板可能装上了但 VC 工具集和标准库头文件缺失编译自然失败。解决打开 Visual Studio Installer → 修改 → 勾选“使用 C 的桌面开发”同时勾选“适用于最新 v142 生成工具的 C”和对应 Windows 10 SDK等待补装完成并重启 VS。这个问题的特征是 IDE 界面一切正常只有编译报错很容易误判成项目配置错误。5.4 MSB3721 与 Windows SDK 版本不匹配现象编译带 shader 的 DirectX 项目或某些旧游戏工程时报错误 MSB3721后面跟着 fxc.exe 退出码。原因项目文件里写死了要调用的 Windows SDK 版本但本机安装的 SDK 版本与它不一致fxc.exe 找不到或者版本过新不认旧 shader 模型。解决在 Visual Studio Installer 的“单个组件”里补装项目需要的 SDK 版本然后到项目属性 → “Windows SDK 版本”里显式选中该版本不要用“最新安装版本”。这类报错带有一定玄学色彩但只要把 SDK 版本从“最新”切到指定值大多数情况能恢复。5.5 中文路径的诡异链接错误现象同一个项目在 IDE 里编译正常切换到命令行用 cl 或 nmake 编译同样代码报 LNK1104 或 fatal error C1083。原因项目放在含中文用户名的路径下比如C:\Users\张三\source\repos\demo某些工具链对非 ASCII 路径解析不完整。Windows 默认用户目录一旦是中文账号名新建项目默认就在这个雷区里。解决把代码仓库放到纯英文路径比如D:\src\demo。如果账号名已经是中文至少在 D 盘建英文目录绕开用户目录。这个坑与代码无关换一台机器、换一个用户名同样代码可能就编译过了容易让人误判为工程文件损坏。5.6 VS 提示“产品许可证过期”或激活失败现象安装完没过几天VS 顶部提示“许可证过期”或者智能提示功能被停用。原因常见于填了非正规密钥的系统。企业版批量授权密钥一旦被微软吊销所有使用该密钥的机器都会在下次联网校验时失效弹窗不断。此外系统时间频繁跳变也会触发激活校验失败。解决在“帮助 → 注册产品”里更换为免费的 Community或输入正规采购的订阅密钥同时校准系统时间。不要再次尝试找新密钥那不是解决问题的路径只会陷入无限循环。6. 安装验收小技巧用一条命令确认环境真的能用6.1 用 vswhere 快速定位安装路径vswhere 是 VS 安装器自带的查找工具固定存放在C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe。安装完成之后想知道 vs2019 到底装在哪个目录不用去翻注册表直接执行C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath-latest表示查找最新的安装实例-products *匹配所有产品-requires过滤包含指定组件的实例-property installationPath只输出安装路径。如果这条命令返回一个路径说明 C 工具链已安装如果返回空说明某个关键组件缺失。6.2 开发命令行里的“体检三连”打开 Developer Command Prompt for VS 2019依次执行cl /Bv msbuild -version dotnet --infocl /Bv会输出编译器版本、编译器和链接器的具体路径msbuild -version打印 MSBuild 版本号dotnet --info确认 .NET SDK 是否可用。这三个命令只要第一个能正常回显VS 2019 的 C 环境基本就没问题了。如果第二个命令报错说明 MSBuild 的路径没加载如果第三个报错说明 .NET 工作负载缺失或者 SDK 版本不匹配。6.3 一位工程师的收尾习惯建一个最小项目再删掉命令体检通过后我还会做一个最原始的编译测试cd /d D:\workspace mkdir vstest cd vstest echo int main(){return 0;} main.cpp cl main.cpp这段命令创建了一个只包含 main 函数的 C 文件然后用 cl 编译。编译成功后会生成 main.exe没有任何警告和错误说明从编译器到头文件到链接器整条链路是通的。如果链接阶段报缺库再回到安装器确认“Windows Universal CRT”之类组件是否存在。我自己会把上述三条命令写成一个 vstest.bat换机器时装完 vs2019 就直接跑一遍脚本回显 completion 才算通过。既然 IDE 装完后的“看起来正常”并不可靠那就靠命令输出来确认。希望这套验收顺序能帮你省掉后续一堆莫名其妙的编译问题也祝你在 vs2019 这个老版本上少踩坑。本文还有配套的精品资源点击获取
返回列表