VS2019 离线安装方法详解
本文详细介绍了 VS2019 离线安装的相关步骤,以桌面开发为主下载 C++桌面开发、.NET 桌面开发相关的工作负载、MFC 可选组件及帮助查看器。
工作负载(Workload)
离线安装需要先根据开发的项目类型下载相关的 工作负载(Workload)。工作负载包含多个依赖项,分为必需(Required)、建议(Recommended)、可选(Optional) 三种类型。如下图所示:

以 C++桌面开发为例,ATL 是建议组件,而 MFC 是可选组件。


在下载工作负载或可选组件时,需要先选择 VS 版本(本文下载版本为 VS2019 社区版),因为不同的版本依赖项类型可能不同。如在 VS2017 中 .NET Framework 4.7.2 的 SDK 及目标包为可选类型,在 VS2019 中则为必需类型。
VS2017 中的 .NET Framework 4.7.2:

VS2019 中的 .NET Framework 4.7.2:

VS2019 工作负载的详细介绍可以看这里。
下载安装工具
在这里下载 Visual Studio 引导程序,该文也讲解了如何根据不同的开发类型下载相关的工作负载。 如下图:

桌面开发(C++ & .NET)
在命令行下输入下面的命令下载 C++桌面开发、.NET 桌面开发工作负载及推荐组件。
1vs_community__891427824.1534167097.exe --layout .\vs2019_layout --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeRecommended --lang en-US zh-CN

命令含义:
- vs_community__891427824.1534167097.exe:前一步下载的 Visual Studio 引导程序
- --layout:指定 VS2019 相关组件的下载目录,设置为当前目录下的 vs2019_layout 目录。
- --add:添加将要下载的工作负载,添加的是 NativeDesktop、ManagedDesktop
- --includeRecommended:安装相关工作负载的推荐组件(另一个参数 --includeOptional 将会下载选定的工作负载中可选的组件,会导致下载的安装包过大,不建议使用。)
- --lang:下载指定的语言包,本人下载了英文(en-US)、中文(zh-CN)
下载完成后如下图所示:

vs_community.exe 的详细命令参数可以看这里。
MFC 可选包
MFC 相关的工具包在工作负载 Microsoft.VisualStudio.Workload.NativeDesktop 中属于可选包,需要单独下载。
1vs_community__891427824.1534167097.exe --layout .\vs2019_layout --add Microsoft.VisualStudio.Component.VC.ATLMFC --lang en-US zh-CN
帮助查看器(HelpViewer)
帮助查看器属于独立工作负载,也需要单独下载。
1vs_community__891427824.1534167097.exe --layout .\vs2019_layout --add Microsoft.Component.HelpViewer --lang en-US zh-CN
安装包大小
经过以上步骤下载完毕后,安装包的大小如下图所示,比 VS2017 的还少占用了部分空间(在安装 VS2017 时,这几个工作负载及组件下载后占用 3.15G 空间)。

安装
下载完毕后,将网络断开或将其拷贝到其它未联网的电脑上,然后进入 vs2019_layout 目录,双击 vs_setup.exe 进行安装。

查看 MFC 可选组件及帮助查看器是否选中:


修改安装目录:VS2019 默认安装在 C 盘,将占用大量的磁盘空间,建议修改在其它盘。然后点击右下角的 安装 进行安装。

安装过程如下:

在安装过程中出现了如下警告,点击 继续 安装(安装后创建测试工程暂未发现异常,先不处理)。

创建工程
安装完成后,分别创建 MFC 工程及 WinForm 工程进行测试。
创建新项目:

以 MFC 为例创建项目,在搜索框中输入 MFC 或 选择语言(C++)、平台(Windows)、项目类型(桌面),然后点击 MFC 应用,根据后面的向导界面修改工程选项,如下图所示:

WinForm 项目的创建与 MFC 类似,在搜索框中输入 WinForm 即可,或将语言改为 C#,如下图所示:

编译创建的工程,可以看到全部生成成功。

- - - End - - -

本文作者: Lzl678
本文链接: https://www.cnblogs.com/Lzl678/p/10651100.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
VS2019 离线安装方法详解的更多相关文章
- Android SDK离线安装方法详解(加速安装) 转
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助! 离线安装包下载地址:http://dl.vmall.com/c ...
- Android SDK离线安装方法详解(加速安装)
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...
- SQL Server2012 安装方法详解
SQL Server2012 安装方法详解 - MonkeyBrothers的博客 - CSDN博客 https://blog.csdn.net/monkeybrothers/article/deta ...
- Linux离线安装Ruby详解
很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装Ruby,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如果离线安 ...
- Linux 离线安装Rubygems详解
很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装RubyGems,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如 ...
- Mysql压缩包版的安装方法详解
Mysql安装的时候可以有msi安装和zip解压缩两种安装方式.zip压缩包解压到目录,要使用它还需对它进行一定的配置.下面对Mysql压缩包版的安装方法进行详细的描述,要是此文有不正确的认识,希望大 ...
- ADS2008 安装方法详解及文件下载
一.我的安装的过程及方法 正常安装的方法: 1.- Install the program. 2.- Copy "license.lic" into "C:\ADS200 ...
- Zend Studio 13.6.1 汉化及安装方法详解
Zend Studio 13.6.1是一套专业开发人员使用的集成开发环境 (IDE),具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排 ...
- GreenPlum 安装方法详解
一.安装环境准备 1.磁盘环境准备 磁盘分区典型配置如下: 文件系统 文件格式 大小 / ext3 50GB,Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为 ...
随机推荐
- Spring Boot 面试,一个问题就干趴下了!
最近栈长面试了不少人,其中不乏说对 Spring Boot 非常熟悉的,然后当我问到一些 Spring Boot 核心功能和原理的时候,没人能说得上来,或者说不到点上,可以说一个问题就问趴下了! 这是 ...
- 【TensorFlow篇】--Tensorflow框架实现SoftMax模型识别手写数字集
一.前述 本文讲述用Tensorflow框架实现SoftMax模型识别手写数字集,来实现多分类. 同时对模型的保存和恢复做下示例. 二.具体原理 代码一:实现代码 #!/usr/bin/python ...
- UmengShareDemo【友盟分享SDK集成,基于V6.9.3版本】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里简单记录下友盟分享SDK集成的步骤. 如果想要使用自定义分享对话框实现,请参考<ShareDialogDemo[分享对话框 ...
- DotNetCore跨平台~在appsettings.json里自定义配置项
回到目录 DotNetCore里一切都是依赖注入的,对于appsettings这个可扩展的配置对象也不例外,它位于项目根目录,一般在startup里去注册它,在类中通过构造方法注入来获取当前的对象,以 ...
- MySQL性能基准测试对比:5.7 VS 8.0
本文由云+社区发表 作者:数据库 版权声明:本文由腾讯云数据库产品团队整理,页面原始内容来自于severalnines英文官网,若转载请注明出处.翻译目的在于传递更多全球最新数据库领域相关信息,并不意 ...
- linux-2.6.18源码分析笔记---中断
一.中断初始化 中断的一些硬件机制不做过多的描述,只介绍一些和linux实现比较贴近的机制,便于理解代码. 1.1 关于intel和linux几种门的简介 intel提供了4种门:系统门,中断门,陷阱 ...
- revit二次开发wpf里button按钮无法实现事务
不能在revit提供的api外部使用事务,解决此方法, 1.把button里要实现的功能写到外部事件IExternalEventHandler中,注册外部事件,在button事件中.raise()使用 ...
- js 控制随机数生成概率
基本思路:把Math.random()生成的数看着百分比,然后定义每个整数值取值范围. 'use strict'; export default class GL { /** * 构造函数 * @pa ...
- js 格林威治时间转正常格式并兼容ios
function timeChange(time) { var date = time.substr(0, 10); //年月日 var hours = time.substring(11, 13); ...
- K60用IRA通过j-link下载失败,解决方法
K60在用飞思卡尔原厂的例程时,例程编译时没有问题,但是烧写时不成功,出现以下提示,请问该如何解决这个问题?提示1.Miss or malformed flash loader specificati ...