Visual studio msbuild在Teamcity中失败

Visual studio msbuild在Teamcity中失败,visual-studio,msbuild,visual-studio-2017,teamcity,Visual Studio,Msbuild,Visual Studio 2017,Teamcity,我可能错过了一些非常简单的东西。我正在尝试使用msbuild在Teamcity中构建解决方案,但始终失败,出现以下错误 'msbuild' is not recognized as an internal or external command, operable program or batch file. 我已经安装了VS2017,当我在同一Teamcity代理上通过命令行在本地运行该解决方案时,它与以下注释完美结合 Microsoft (R) Build Engine version 1

我可能错过了一些非常简单的东西。我正在尝试使用msbuild在Teamcity中构建解决方案,但始终失败,出现以下错误

'msbuild' is not recognized as an internal or external command,
operable program or batch file.
我已经安装了VS2017,当我在同一Teamcity代理上通过命令行在本地运行该解决方案时,它与以下注释完美结合

Microsoft (R) Build Engine version 15.4.8.50001 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
但由于某些原因,teamcity总是失败。我不知道我在这里错过了什么。非常感谢您的指点

下面是我用来编译解决方案的命令

msbuild hello.sln /t:Rebuild
msbuild在Teamcity中失败

同意斯蒂恩的观点。根据错误日志,MSBuild似乎不在默认路径中,因此无法找到它

要解决此问题,应确保已在teamcity代理上安装Visual Studio 2017或Microsoft生成工具,并且需要正确配置生成运行程序,尤其是MSBuild版本

此外,您还可以尝试创建环境变量“MSBuild”,并将其设置为teamcity代理中的MSBuild.exe路径

Visual Studio 2017的MSBuild的默认路径为:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin

如果以上内容对您没有帮助,请与我们分享您关于Build Runner的配置。

MSBuild默认不在路径中,这是有原因的,因此这可能是teamcity找不到该命令的原因(尽管我不确定您的命令行如何知道它,除非您实际启动了开发人员命令提示符等等)。做正确的事情并使用TeamCity的MSBuild runner?还要确保你的TC是相对最新的。IIRC,VS2017的新安装策略直到TC 10.0.4左右才得到支持。设置Path变量时,请确保从系统变量而不是用户变量中设置。重置服务器将确保Teamcity可以访问新的VAR。如果您为用户变量设置,您的本地cmd将起作用,但teamcity仍会遇到问题。这个给我修好了。