制作一个可以离线安装的Visual Studio安装包
须知
- 前提条件,需要电脑可以正常上网且网速还行,硬盘可以空间容量足够大,
怎么判断容量够用?由组件数量的多少来决定。 - Visual Studio 频道和发布节奏
https://learn.microsoft.com/zh-cn/visualstudio/productinfo/release-rhythm
步骤 1 - 下载 Visual Studio 引导程序
- 1.1、旧的版本下载:
https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/ - 1.2、新版本下载:
https://visualstudio.microsoft.com/zh-hans/
下载最新的Visual Studio 2022,对应Community版本,下载后的引导程序,文件大小接近在4MB的样子

步骤 2 - 创建本地布局
-
创建和维护 Visual Studio 的网络安装
https://learn.microsoft.com/zh-cn/visualstudio/install/create-a-network-installation-of-visual-studio?view=vs-2022 -
使用命令行参数安装、更新和管理 Visual Studio
https://learn.microsoft.com/zh-cn/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2022 -
语言区域设置
https://learn.microsoft.com/zh-cn/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2022&preserve-view=true#list-of-language-locales -
创建 Visual Studio 的脱机安装包以进行本地安装
https://learn.microsoft.com/zh-cn/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2022
选择一个合适的开发场景,执行相应的命令
创建的语法,参数释义可以参考
–add:用于指定工作负载或组件 ID。
如果使用 --add,只会下载使用 --add 指定的工作负载和组件。 如果不使用 --add,将下载所有工作负载和组件。
–includeRecommended,用于添加针对指定工作负载 ID 的所有推荐组件。
–includeOptional,用于添加针对指定工作负载 ID 的所有可选组件。
–config 使用配置文件指定应包含在布局中的组件。
–lang:用于指定语言区域设置。
VS引导执行程序 --layout 指定用于创建或更新脱机安装缓存的目录 --add 组件的id名称 --includeOptional --lang 设置需要的语言
-
对于仅支持一种语言的.NET Web 和 .NET 桌面开发,语言中文和英文,请运行:
VisualStudioSetup.exe --layout c:\localVSlayout --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeOptional --lang zh-CN en-US -
对于仅支持一种语言的 C++ 桌面开发(包括所有推荐组件和可选组件),语言中文和英文,请运行:
VisualStudioSetup.exe --layout c:\localVSlayout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --includeOptional --lang zh-CN en-US
步骤 3 - 从本地布局安装 Visual Studio
-
运行安装并阻止客户端计算机访问 Internet,
特别注意一点,此时引导程序在layout指定的目录下也会有一份,那么可以使用绝对路径来配置c:\localVSlayout\VisualStudioSetup.exe --noWeb --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeOptional --addProductLang zh-CN en-US -
也可以设置程序安装的位置和产品激活的密钥
c:\localVSlayout\VisualStudioSetup.exe --noWeb --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeOptional --addProductLang zh-CN en-US --installPath C:\vs2022 --productKey XXXX-XXXX-XXXX-XXXX-XXXX
-
上截图,组件、文件安装的位置

-
上截图,语言

-
安装的过程中没有联网,只是验证安装包的时间有些长

-
指定的位置

参考汇总
以2019版本的VS为参考,对应的组件目录
- Visual Studio Enterprise 2019 组件目录
https://learn.microsoft.com/zh-cn/visualstudio/install/workload-component-id-vs-enterprise?view=vs-2019 - Visual Studio Professional 2019 组件目录
https://learn.microsoft.com/zh-cn/visualstudio/install/workload-component-id-vs-professional?view=vs-2019 - Visual Studio Community 2019 组件目录
https://learn.microsoft.com/zh-cn/visualstudio/install/workload-component-id-vs-community?view=vs-2019
列出部分组件
| 组件名称 | 组件ID | 组件描述 |
|---|---|---|
| Visual Studio 核心编辑器(Visual Studio Professional 2019 随附) | ID: Microsoft.VisualStudio.Workload.CoreEditor | 描述: Visual Studio 核心 shell 体验,包括语法感知代码编辑、源代码管理和工作项管理。 |
| 通用 Windows 平台开发 | ID: Microsoft.VisualStudio.Workload.Universal | 描述:使用 C#、VB、或可选 C++ 为通用 Windows 平台创建应用程序。 |
| .NET 桌面开发 | ID: Microsoft.VisualStudio.Workload.ManagedDesktop | 说明:将 C#、Visual Basic 和 F# 与 .NET 和 NET Framework 一起使用,生成 WPF、Windows 窗体和控制台应用程序。 |
| 使用 Unity 的游戏开发 | ID: Microsoft.VisualStudio.Workload.ManagedGame | 描述: 使用 Unity(功能强大的跨平台开发环境)创建 2D 和 3D 游戏。 |
| 使用 C++ 的桌面开发 | ID: Microsoft.VisualStudio.Workload.NativeDesktop | 描述: 使用所选工具(包括 MSVC、Clang、CMake 或 MSBuild)生成适用于 Windows 的新式 C++ 应用。 |
| 使用 C++ 的游戏开发 | ID: Microsoft.VisualStudio.Workload.NativeGame | 描述: 以 DirectX、Unreal 或 Cocos2d 为后盾,利用 C++ 的强大功能生成专业游戏。 |
| Node.js 开发 | ID: Microsoft.VisualStudio.Workload.Node | 描述: 使用 Node.js(一个由异步事件驱动的 JavaScript 运行时)生成可缩放的网络应用程序。 |
| Python 开发 | ID: Microsoft.VisualStudio.Workload.Python | 描述: 对 Python 进行编辑、调试、交互式开发和源代码管理。 |
| Visual Studio 扩展开发 | ID: Microsoft.VisualStudio.Workload.VisualStudioExtension | 描述: 为 Visual Studio 创建加载项和扩展,包括新命令、代码分析器和工具窗口。 |
相关文章:
制作一个可以离线安装的Visual Studio安装包
须知 前提条件,需要电脑可以正常上网且网速还行,硬盘可以空间容量足够大,怎么判断容量够用?由组件数量的多少来决定。Visual Studio 频道和发布节奏 https://learn.microsoft.com/zh-cn/visualstudio/productinfo/release-rhythm…...
机器学习——决策树(三)
【说明】文章内容来自《机器学习——基于sklearn》,用于学习记录。若有争议联系删除。 1、案例一 决策树用于是否赖床问题。 采用决策树进行分类,要经过数据采集、特征向量化、模型训练和决策树可视化4个步骤。 赖床数据链接:https://pan…...
模型量化之AWQ和GPTQ
什么是模型量化 模型量化(Model Quantization)是一种通过减少模型参数表示的位数来降低模型计算和存储开销的技术。一般来说,模型参数在深度学习模型中以浮点数(例如32位浮点数)的形式存储,而模型量化可以…...
一个简单的 HTTP 请求和响应服务——httpbin
拉取镜像 docker pull kennethreitz/httpbin:latest 查看本地是否存在存在镜像 docker images | grep kennethreitz/httpbin:latest 创建 deployment,指定镜像 apiVersion: apps/v1 kind: Deployment metadata:labels:app: httpbinname: mm-httpbinnamespace: mm-…...
2024黑龙江省职业院校技能大赛暨国赛选拔赛应用软件系统开发赛项(高职组)赛题第3套
2024黑龙江省职业院校技能大赛暨国赛选拔赛 应用软件系统开发赛项(高职组) 赛题第3套 目录: 需要竞赛源码资料可以私信博主。 竞赛说明 模块一:系统需求分析 任务1:制造执行MES—质量管理—来料检验(…...
云原生Kubernetes系列 | Kubernetes Secret及ConfigMap
云原生Kubernetes系列 | Kubernetes Secret及Configmap 1. Secret及Configmap使用背景简介2. Secret2.1. Secret创建方式2.1.1. 命令行方式2.1.2. 文件方式2.1.3. 变量方式2.1.4. YAML文件方式2.2. Secret使用方式2.2.1. 用于传递配置文件2.2.3. 用于传递变量3. ConfigMap1. Se…...
dev express 15.2图表绘制性能问题
dev express 15.2 绘制曲线 前端代码 <dxc:ChartControl Grid.Row"1"><dxc:XYDiagram2D EnableAxisXNavigation"True"><dxc:LineSeries2D x:Name"series" CrosshairLabelPattern"{}{A} : {V:F2}"/></dxc:XYDi…...
单链表的创建,插入及删除(更新ing)
1.单链表创建 ptr为头指针,指向头结点地址,即该指针变量的值为头结点地址; mov为一个辅助指针,用于将链表尾节点的指针域next指向新增节点的地址. search为一个辅助指针,用于遍历链表各节点地址,打印各节…...
C#/WPF 播放音频文件
C#播放音频文件的方式: 播放系统事件声音使用System.Media.SoundPlayer播放wav使用MCI Command String多媒体设备程序接口播放mp3,wav,avi等使用WindowsMediaPlayer的COM组件来播放(可视化)使用DirectX播放音频文件使用Speech播放(朗读器&am…...
如何使用宝塔面板+Discuz+cpolar内网穿透工具搭建可远程访问论坛服务
文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board(以下简称 Discuz!)是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上&a…...
【HBase】——简介
1 HBase 定义 Apache HBase™ 是以 hdfs 为数据存储的,一种分布式、可扩展的 NoSQL 数据库。 2 HBase 数据模型 • HBase 的设计理念依据 Google 的 BigTable 论文,论文中对于数据模型的首句介绍。 Bigtable 是一个稀疏的、分布式的、持久的多维排序 m…...
JAVA 有关PDF文件和图片文件合并并生产一个PDF
情景: 1.文件列表包含多个图片和PDF时需要对文件进行合并 2.合并时保持文件顺序 开淦: 一、导入POM <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.24</ve…...
八股文打卡day10——计算机网络(10)
面试题:HTTP1.1和HTTP2.0的区别? 我的回答: 1.多路复用:HTTP1.1每次请求响应一次都得建立一次连接,HTTP1.1引入了持久连接Connection:Keep-Alive,可以建立一次连接,进行多次请求响…...
Spring Boot学习:Flyway详解
Flyway Flyway 是一款开源的数据库版本管理工具,用于管理和自动化数据库结构的变更。它可以跟踪和管理数据库的版本控制,并在应用程序启动时自动执行升级或回滚操作。 使用Flyway,你可以将数据库的变更以可重复且可控的方式应用到不同环境中…...
Spark编程实验三:Spark SQL编程
目录 一、目的与要求 二、实验内容 三、实验步骤 1、Spark SQL基本操作 2、编程实现将RDD转换为DataFrame 3、编程实现利用DataFrame读写MySQL的数据 四、结果分析与实验体会 一、目的与要求 1、通过实验掌握Spark SQL的基本编程方法; 2、熟悉RDD到DataFram…...
文献研读|Prompt窃取与保护综述
本文介绍与「Prompt窃取与保护」相关的几篇工作。 目录 1. Prompt Stealing Attacks Against Text-to-Image Generation Models(PromptStealer)2. Hard Prompts Made Easy: Gradient-Based Discrete Optimization for Prompt Tuning and Discovery&#…...
cfa一级考生复习经验分享系列(十四)
首先说一下自己的背景,一个和金融没有半毛钱关系的数据分析师,之前考出了FRM。这次用一个半月突击12月的1级考试拿到了9A1B的成绩,纯属运气。以下纯属经(chě)验(dn),请看看就好&…...
vue本地缓存搜索记录(最多4条)
核心代码 //保存到搜索历史,最多存四个 item.name和item.code格式为:塞力斯000001var history uni.getStorageSync(history) || [];console.log("history", history)var index history.findIndex((items) > {return item.name items.nam…...
Linux创建Macvlan网络
最近在看Docker的网络,测试Macvlan部分时,发现Docker创建Macvlan与预期测试结果不一样。所以查阅了Linux下配置Macvlan,记录如下。 参考 1.Linux Macvlan 2.图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN 3.创建ma…...
从企业级负载均衡到云原生,深入解读F5
上世纪九十年代,Internet快速发展催生了大量在线网站,Web访问量迅速提升。在互联网泡沫破灭前,这个领域基本是围绕如何对Web网站进行负载均衡与优化。从1997年F5发布了BIG-IP,到快速地形成完整ADC产品线,企业级负载均衡…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
