在不需要 VisualStudio 的情况下,在构建服务器(例如 TFS 或 TeamCity)上构建 Visual C++ 项目需要什么?

What is necessary on a build server (eg TFS or TeamCity) to build Visual C++ projects, without requiring VisualStudio?

这与问题 What do I need to install for C++ project / VS 2013 on TeamCity server or Team Foundation Build Service? 类似,但具体来说,我想这样做 不需要在服务器上安装 VisualStudio。

我注意到有一个 List of software on TFS hosted build servers 似乎它可能有答案:但大多数链接都已失效(仅重定向到 visualstudio.com)而且我找不到该包的下载列出的名称。

我需要安装什么来构建 C++ 项目,无需 安装 VisualStudio?

此外,我以前用 C# 经历过这个问题,并最终想出了如何在没有 VisualStudio 的情况下构建 C#/VB.NET 项目,但这绝对是一个痛苦。绝大多数人实际上 CI 只是在他们的构建服务器上安装 IDE 吗?

Visual C++ 构建工具,使用户无需 Visual Studio.

即可编译 C++ 项目

有关详细信息,请参考以下 link 来自 MSDN 博客的内容:

Announcing Visual C++ Build Tools 2015 – standalone C++ tools for build environments https://blogs.msdn.microsoft.com/vcblog/2015/11/02/announcing-visual-c-build-tools-2015-standalone-c-tools-for-build-environments/

安装 VC++ Build Tools 2015 只是部分答案(感谢@Chamberlain)。显然,我还必须将项目升级到 2015 年(最初是 2013 年,我认为最初是用更早的版本编写的)。

为了实际构建,我正在 运行编写脚本:

pushd "%programfiles(x86)%"
echo "Calling vcvars..."
CALL "%programfiles(x86)%\Microsoft Visual C++ Build Tools\vcbuildtools.bat" amd64_x86
echo "Execute MSBuild in release mode..."
popd
set useenv=true
MSBuild "PathTo\Project.vcxproj" /t:Rebuild /p:Configuration=Release

诀窍是 运行 vcbuildtools.bat 并设置 useenv=true.

一旦它开始工作,我就没有研究如何在主要的 .sln 构建中实现它——我怀疑它可能会按原样工作,但我还没有尝试过。