我有一个只有2-3 GB可用空间的小型SSD驱动器。我需要.NET桌面和C ++桌面工作负载。我尝试创建离线安装程序,这很好,我尝试了-installPath选项,但它只影响工作室本身和其他一些组件,但不影响Windows SDK和.NET SDK,这些组件安装到系统驱动器。
我确实将Windows SDK和.NET SDK安装到不同的驱动器上,但我必须为每个驱动器使用独立的安装程序。我想知道是否有可能用VS 2017附带的安装程序来完成。
不,VS安装程序仅允许您指定安装该VS实例的软件包的位置(即,您可以选择进入该文件夹的任何内容)。它目前不允许您指定安装其他全局包的位置。
有人在这个帖子中提出了一个黑客攻击
我能够使用Junction做到这一点。首先,我转到安装程序并找到安装C上文件的位置,即使选择了另一个驱动器:
C:\ Program Files(x86)\ Microsoft Visual Studio \ Shared
然后,我在H上创建了一个新文件夹,这是一个更大的SSD。我叫它VSSHARED。
然后我以管理员身份打开cmd.exe并运行:
mklink / J“C:\ Program Files(x86)\ Microsoft Visual Studio \ Shared”“H \ VSSHARED”
安装程序一旦运行,就将所有共享信息放入H中,因为它认为它是C中的文件夹。
在下面有一个类似的答复:
在cmd.exe中输入管理员权限,然后输入以下行
mklink / J“C:\ Program Files(x86)\ Microsoft Visual Studio \ Shared”“F:\ msvs2017 \ shared”mklink / J“C:\ Program Files(x86)\ Microsoft Visual Studio \ Installer”F:\ msvs2017 \ Installer“mklink / J”C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise“”F:\ msvs2017 \ Enterprise“
将“F:\ msvs2017”更改为将安装它的驱动器和目录到mklink目标行。
玩得开心
我忽略了这样做是否有任何缺点。
编辑:我刚注意到有人在评论部分评论了这个解决方案。好吧,我认为把它作为答案并没有什么坏处。