2

我正在尝试让 TeamCity 在 CentOS 上为我进行自动构建,但是如果我创建一个“MSBuild”的运行器类型,我会收到以下错误

Failed to start MSBuild.exe. Failed to find msbuild.exe at path: /usr/lib/mono/4.0/xbuild.exe

我尝试了“Visual Studio (sln)”的运行器类型,将 Visual Studio 设置为 2012 并收到以下错误

No enabled compatible agents for this build configuration.

当我查看我的代理要求时,我看到:

Unmet requirements: DotNetFramework4.5_x86 exists

老实说,我不知道可能出了什么问题。Mono 已在这台机器上启动并运行,因为它托管了一个使用 Mono 构建的网站。请问有更多经验的人可以告诉我我做错了什么吗?

[编辑]

我刚刚尝试创建 xbuild 实际所在位置到 TeamCity 所需位置的符号链接。

ln -s /usr/bin/xbuild /usr/lib/mono/4.0/xbuild.exe

我现在在构建日志中收到以下错误,所以我认为它不喜欢符号链接。

[MSBuild output] Cannot open assembly '/usr/lib/mono/4.0/xbuild.exe': File does not contain a valid CIL image.
4

1 回答 1

2

我可以通过在构建代理上的 buildAgent.properties 文件中添加一个环境变量来解决这个问题。找到该文件后,在 Environment Variables 部分中添加如下内容:

env.MSBuild=/usr/local/lib/mono/xbuild/12.0/bin/ 

我正在使用 ubuntu 执行此操作,因此路径可能与您要查找的路径不同。

于 2014-09-02T19:34:02.413 回答