如何(从命令行)自动安装适用于 C++、.NET、C# 等的 Visual Studio 构建工具构建环境

2024-02-13

注:我已经读过如何在不安装 IDE 的情况下在构建服务器上安装 VS2017 版本的 msbuild? https://stackoverflow.com/questions/42696948/how-can-i-install-the-vs2017-version-of-msbuild-on-a-build-server-without-instal但这并不能通过完全无 GUI、仅脚本安装来解决。


这些年来,我注意到以下几点:

  • 我从Github下载了一个项目;或者打开我的一个旧项目(比如 4 年前的项目)

  • run msbuild.exe theproject.sln

  • 哎呀,我没有正确的 Visual Studio 版本/.NET Framework 版本/缺少正确的 SDK(示例情况here https://stackoverflow.com/questions/62550657/c-sharp-compiler-sdk-and-msbuild-for-net-framework等等)

  • 然后花 X 小时浏览类似的网站https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019 https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019,安装一个软件包,然后注意到它不是正确的(msbuild仍然失败),下载另一个包,安装它,等等。

  • 最后你已经下载了 8 GB 的软件包,等待下载,等待安装,等待重新启动,但你仍然不确定它是否有效

  • 您的计算机现在混乱不堪,同时安装了 5 个不同版本的 SDK,这些 SDK 可能会相互冲突(Z 版本是否覆盖/卸载了 Y 版本?)

这可能是避免此问题的解决方案:

如何从命令行安装所需的 MS 构建工具?(我不想使用任何 IDE,我想编写所有内容的脚本)

如果可能的话,我会一劳永逸地创建一个build.bat每个项目的文件,类似于:

msbuildget --package=VC14 --installdir=c:\buildtools\vc14     # automatically download and install
C:\buildtools\vc14\bin\msbuild.exe myproject.sln

or

msbuildget --package=.NET-35 --installdir=c:\buildtools\net35   
C:\buildtools\net35\bin\msbuild.exe myproject.sln

这个怎么做?

通过这种方法,即使你打开一个6年的项目,你也应该能够构建它。


我刚刚花了很长时间试图解决这个问题。我最终得到了这个:

.\vs_buildtool.exe --passive --wait --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended

注意使用includeRecommended以避免单独添加组件。includeOptional也可用。您还可以使用例如--includeRecommended包含推荐的标志all工作负载(参见here https://learn.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2022#install-update-modify-repair-uninstall-and-export-commands-and-command-line-parameters).

或者使用安装winget:

winget install -e --id Microsoft.VisualStudio.2022.BuildTools --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended"

希望这对其他人有用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何(从命令行)自动安装适用于 C++、.NET、C# 等的 Visual Studio 构建工具构建环境 的相关文章

随机推荐