如何在不安装 IDE 的情况下在构建服务器上安装 VS2017 版本的 msbuild?

Posted

技术标签:

【中文标题】如何在不安装 IDE 的情况下在构建服务器上安装 VS2017 版本的 msbuild?【英文标题】:How can I install the VS2017 version of msbuild on a build server without installing the IDE? 【发布时间】:2017-07-30 12:47:23 【问题描述】:

从历史上看,这是通过Microsoft Build Tools 完成的。但似乎the Build Tools may not be available for versions after 2015。替代品似乎是 Visual Studio 构建工具,它似乎还没有真正的主页。

我下载了VS2017 Professional installer,然后转到Individual Components标签。马上,摘要告诉我 Visual Studio 核心编辑器在那里,占用 753MB。我不要编辑器。只是msbuild。无法取消选择编辑器。

有没有一种方法可以在不安装 Visual Studio IDE 的情况下安装最新版本的 msbuild?

【问题讨论】:

TFS 2015 build task for VS 2017的可能重复 这个问题的措辞很糟糕,隐藏了真正的问题。它没有出现在搜索中。您的答案是链接并运行,这很糟糕。观看次数很少,而且它比这个“更新”,从现在开始一天后都不重要,更不用说明年了。可以肯定的是,这是最糟糕的意义上的“重复”。 我不同意重复的建议。我发现此 SO q&a 是我搜索的最佳结果:“如何在构建服务器上安装 msbuild 2017”- 最佳答案恰好满足了我的需求。阅读了建议的副本后,该答案更详细地说明了从一个版本转移到另一个版本的问题 - SO 帖子 没有 回答我搜索的问题。 相关帖子 - Getting msbuild.exe without installing Visual Studio 【参考方案1】:

Visual Studio 构建工具的下载方式与 IDE 不同。它们似乎是一个很小的子集,它们被称为 Build Tools for Visual Studio 2019 (download)。

您可以使用 GUI 进行安装,也可以编写 msbuild 安装脚本:

vs_buildtools.exe --add Microsoft.VisualStudio.Workload.MSBuildTools --quiet

Microsoft.VisualStudio.Workload.MSBuildTools 是the three subcomponents you need 的“包装”ID:

Microsoft.Component.MSBuild Microsoft.VisualStudio.Component.CoreBuildTools Microsoft.VisualStudio.Component.Roslyn.Compiler

您可以找到有关其他可用 CLI 开关 here 的文档。

构建工具的安装比完整的 IDE 快很多。在我的测试中,它需要 5-10 秒。对于--quiet,除了简短的光标更改外,没有进度指示器。如果安装成功,应该可以在%programfiles(x86)%\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin看到构建工具。

如果您在那里看不到它们,请尝试在不使用 --quiet 的情况下运行以查看安装过程中可能出现的任何错误消息。

【讨论】:

上述目录肯定没有创建。我已经删除了 --quiet 标志,结果相同,除了一个模态窗口在消失之前弹出了一段时间。 另外,如果您在构建服务器上构建 ASP.net Web 应用程序,请不要使用 --quiet 模式 - 因为您需要在安装向导期间选择“Web 开发构建工具”,以便安装了正确的 MSBuild 目标。 看起来不是构建工具链接是指 vs 社区。这是构建工具链接:aka.ms/vs/15/release/vs_buildtools.exe @IamCP : 复制VS2017安装环境到本地机器: cd G:\ISO; .\vs_Professional.exe --layout G:\ISO\VS2017ProOffline --lang en-US ; .\vs_BuildTools.exe --layout G:\ISO\VS2017BuildToolsOffline --lang en-US ;然后你可以复制到你的离线目标。 我喜欢有人编辑答案以提供指向 Visual Studio 2019 构建工具的链接。让我们让这个问题更加混乱。

以上是关于如何在不安装 IDE 的情况下在构建服务器上安装 VS2017 版本的 msbuild?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不需要自定义库的情况下在 Google Colabs 上使用 Selenium IDE,例如科拉?

应该打字吗?如果不是,如何在不破坏用户的情况下在 npm install 上触发类型安装?

如何在不安装任何数据库服务器的情况下在本地运行带有数据库的桌面应用程序?

是否可以在不安装 Python 的情况下在 Windows 上安装 Robot Framework?

在不需要 Homebrew 的情况下在 macOS 上安装 Vapor

在不安装 Visual Studio 的情况下在机器上调试代码