制作一个可以离线安装的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 创建加载项和扩展,包括新命令、代码分析器和工具窗口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/269583.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux上iPortal 配置80端口的http

作者:yx 文章目录 前言方法一、配置使用外置ES1、关闭启用 iPortal 内置的 ES2、修改80端口3、启动外置ES4、启动iPortal5、结果验证 方法二、更改 Linux 系统配置1. 安装 Authbind2. 启用端口的读取和执行权限3. 在 Apache Tomcat 上启用 Authbind4. 重启iPortal5.…

Mysql高级函数——GROUP_CONCAT

Mysql高级函数——GROUP_CONCAT 前言仰天大笑出门去,我辈岂是蓬蒿人 前言 大概内容: 在MySQL中,可以使用GROUP_CONCAT函数来实现将多个数据拼接为一个字符串的功能。GROUP_CONCAT函数接受一个参数,用于指定要拼接的数据列&#x…

【Unity3D日常BUG】Unity3D中编辑完代码后卡在Reload Scripts Assemblies界面的解决方案

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 首先,说明一下,每个人对于BUG的定义不一…

【多线程及高并发 二】线程基础及线程中断同步

👏作者简介:大家好,我是若明天不见,BAT的Java高级开发工程师,CSDN博客专家,后端领域优质创作者 📕系列专栏:多线程及高并发系列 📕其他专栏:微服务框架系列、…

SpringCloud和Dubbo有哪些区别

🍎个人博客:个人主页 🏆个人专栏: Spring ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 介绍 Spring Cloud: Dubbo: 选择: 区别 结语 我的其他博客 前言 构建分布式系统是…

Netty组件基础

Netty入门简介 netty是一个异步、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端。 Netty优势 Netty解决了TCP传输问题,如黏包、半包问题,解决了epoll空轮询导致CPU100%的问题。并且Netty对API进行增强&#xf…

Playbook中jinja2模板的使用

本章主要介绍playbook中如何使用jinja2模板 什么是jinja2模板在jinja2模板文件中写if判断语句在jinja2模板文件在写for循环语句handlers的使用 可以使用copy模块把本地的一个文件拷贝到远端机器,下面再次复习一下 本章实验都在demo4文件夹下操作,跟之…

【RocketMQ】Console页面报错:rocketmq remote exception,connect to xxx failed.

现象 console报错,无法连接该节点,把该节点杀掉,还是继续报错,重启之后,报错的端口变成11911。 分析 正常一个broker会启动三个端口,不同版本的规律不太一样,4.X版本是: 配置文件…

软件工程经济学习题 答案(不保证对错,找不到答案)

一、资金等值计算 1.某IT企业今年向银行贷款20万元以购置一台设备。若银行贷款利率为10%,规定10年内等额偿还,试求每年的偿还金额。 2.某软件企业向银行贷款200万元,按年利率为8%进行复利计息,试求该企业第5年末连本带利一次偿还银…

计算机视觉技术-使用图像增广进行训练

让我们使用图像增广来训练模型。 这里,我们使用CIFAR-10数据集,而不是我们之前使用的Fashion-MNIST数据集。 这是因为Fashion-MNIST数据集中对象的位置和大小已被规范化,而CIFAR-10数据集中对象的颜色和大小差异更明显。 CIFAR-10数据集中的前…

Cost Calculator Builder PRO v3.1.46 已注册 – WordPress 插件

成本计算器生成器 PRO v3.1.46:WordPress 插件全解析 一、插件概述 "成本计算器生成器 PRO v3.1.46"是一款强大的WordPress插件,专为需要创建报价、价格和项目估算表的用户设计。这款插件集成了众多高级功能,可帮助用户高效地管理…

LVM逻辑卷管理

传统磁盘存在的问题: 1.当分区不够用时,无法扩展大小。 2.当磁盘分区不够用时,只能通过添加硬盘的方式,但是新添加的硬盘只能当作独立的系统文件存在。 所以如果生产环境的数据库的数据目录满了,只能通过添加新的硬…

计算机毕业设计------SSM网上超市购物商城管理系统

项目介绍 本项目分为前后台,分为普通用户、管理员两种角色。前台普通用户登录,后台管理员登录; 管理员角色包含以下功能: 登录页面,用户查看,一级分类管理,二级分类管理,商品管理,查看订单,留言管理等功能。 用户角色包含以下功…

Frequency-domain MLPs are More EffectiveLearners in Time Series Forecasting

本论文来自于 37th Conference on Neural Information Processing Systems (NeurIPS 2023) Abstract 时间序列预测在金融、交通、能源、医疗等不同行业中发挥着关键作用。虽然现有文献设计了许多基于 RNN、GNN 或 Transformer 的复杂架构(注意力机制的计算太占用资…

探索前端构建可视化应用的思路

一、前言 前端社区里,低代码/无代码是被讨论的火热赛道。简单来说低代码就是通过编写少量代码的方式完成应用的开发及上线,而无代码是低代码的子集,不需要编写代码通过配置的方式即可完成整个应用的开发。目前集团内部的低代码平台已经有很多…

【JMeter入门】—— JMeter介绍

1、什么是JMeter Apache JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 (Apache JMeter是100%纯JAVA桌面应用程序) Apache JMeter可以用于对静…

ElasticSearch入门介绍和实战

目录 1.ElasticSearch简介 1.1 ElasticSearch(简称ES) 1.2 ElasticSearch与Lucene的关系 1.3 哪些公司在使用Elasticsearch 1.4 ES vs Solr比较 1.4.1 ES vs Solr 检索速度 2. Lucene全文检索框架 2.1 什么是全文检索 2.2 分词原理之倒排索引…

OpenCV之图像匹配与定位

利用图像特征的keypoints和descriptor来实现图像的匹配与定位。图像匹配算法主要有暴力匹配和FLANN匹配,而图像定位是通过图像匹配结果来反向查询它们在目标图片中的具体坐标位置。 以QQ登录界面为例,将整个QQ登录界面保存为QQ.png文件,QQ登…

App测试时常用的adb命令你都掌握了哪些呢?

adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。 adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作&#xff0…

天软特色因子看板 (2023.12 第14期)

该因子看板跟踪天软特色因子A06008聪明钱因子(beta)),该因子为以分钟行情价量信息为基础,识别聪明钱交易,用以刻画机构交易行为 值越大,越反映其悲观情绪,反之,反映其乐观情绪。 今日为该因子跟踪第14期&am…