0x00 写在前面的废话
因为工作上大多数都是在离线环境中进行的,进出离线环境很麻烦,所以之前很长一段时间都在使用VS2010。后来尝试换了VS2013,一切顺利,只要把安装镜像拷进去安装即可。再后面.NET Core 1.0出来后,尝试在离线环境中安装VS2015,结果遇到了很多坑。其中最坑的就是安装过程中会提示xxx文件损坏无法继续安装。刚开始真的以为是下载过程中安装文件损坏,结果重新下载了几次发现还是提示损坏。然后就到网上去搜索,也没结果。后来想用VS Code开发也可以,就装个.NET Core的SDK。结果仍然提示文件损坏,不过这次查到原因,因为离线环境中缺乏安全证书无法自动下载,导致安装文件验证通不过,进而提示文件损坏。按照网上教程从有证书的电脑上把证书导出,在离线环境中导入,安装就正常了,VS2015也正常了。
0x01 下载Visual Studio 2017
点下面地址下载所需要的版本的安装程序
https://www.visualstudio.com/zh-hans/downloads/
后面假设下载的是:vs_community.exe
0x02 下载离线资料
直接运行vs_community.exe就是在线安装。
要离线安装的话需要开个命令行,到vs_community.exe所在目录。或者在vs_community.exe所在目录空白处按住shift点右键,选择在此处打开命令行。
然后执行vs_community.exe --layout c:\vs2017layout
,即可把离线资料下载至:c:\vs2017layout
。如果想下载中文版本可以加入--lang
参数:vs_community.exe --layout c:\vs2017layout --lang zh-CN
,--lang
参数支持的语言列表:
- cs-CZ ,Czech
- de-DE ,German
- en-US ,English
- es-ES ,Spanish
- fr-FR ,French
- it-IT ,Italian
- ja-JP ,Japanese
- ko-KR ,Korean
- pl-PL ,Polish
- pt-BR ,Portuguese - Brazil
- ru-RU ,Russian
- tr-TR ,Turkish
- zh-CN ,Chinese - Simplified
- zh-TW ,Chinese - Traditional
如果要全部下载体积是很大的,而且很多功能都用不到。可以在命令行用--add
参数选择要离线的资料。例如我常用的就是Web和Desktop,所以就用下面命令离线:
vs_community.exe –layout c:\vs2017layout –add Microsoft.VisualStudio.Workload.ManagedDesktop –add Microsoft.VisualStudio.Workload.NetWeb –add Component.GitHub.VisualStudio –includeOptional –lang zh-CN
.NET Desktop和Office开发:
vs_community.exe –layout c:\vs2017layout –add Microsoft.VisualStudio.Workload.ManagedDesktop –add Microsoft.VisualStudio.Workload.Office –includeOptional –lang en-US
C++ Desktop开发:
vs_community.exe –layout c:\vs2017layout –add Microsoft.VisualStudio.Workload.NativeDesktop –includeRecommended –lang en-US
更多的可选择组件可参照:https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-enterprise
–layout参数如果为空则默认为当前目录,我不喜欢输入路径,所以习惯把vs_community.exe剪切到要下载的目录,shift+右键开命令行,–layout参数为空,直接下载到当前目录。
0x03 导入安全证书
想想之前装VS2015的经历现在VS2017太体贴了。下载离线资料的目录中有个叫certificates
的目录,点进去双击安装里面的安全证书,采用默认配置无脑下一步即可,遇到输入密码的地方空着就行。
0x04 安装Visual Studio 2017
比较建议的方式就是如何离线的就如何安装。例如我离线时用的:
vs_community.exe –layout c:\vs2017layout –add Microsoft.VisualStudio.Workload.ManagedDesktop –add Microsoft.VisualStudio.Workload.NetWeb –add Component.GitHub.VisualStudio –includeOptional –lang zh-CN
那么安装时就用:
vs_community.exe –add Microsoft.VisualStudio.Workload.ManagedDesktop –add Microsoft.VisualStudio.Workload.NetWeb –add Component.GitHub.VisualStudio –includeOptional
当然也可以直接运行setup.exe
0x05 感受
因为工作大多在离线环境中,所以对各类开发工具离线环境中的使用都比较关心。感觉VS2015是最复杂的一版VS了,最小安装体积也很大,各种不方便。早期的.NET Core也是,过度依赖nuget,为了在离线环境中使用还得搭个nuget服务(不过这个也没啥好说的,搭个nuget服务确实方便),再考进来一大堆包。相比之下VS2017好多了。