在CentOS上使用TeamCity从GitHub构建C#(Mono)解决方案
我试图让TeamCity在CentOS上为我执行自动生成,但是如果我创建的运行程序类型为“MSBuild”,则会出现以下错误在CentOS上使用TeamCity从GitHub构建C#(Mono)解决方案,mono,centos,teamcity,Mono,Centos,Teamcity,我试图让TeamCity在CentOS上为我执行自动生成,但是如果我创建的运行程序类型为“MSBuild”,则会出现以下错误 Failed to start MSBuild.exe. Failed to find msbuild.exe at path: /usr/lib/mono/4.0/xbuild.exe No enabled compatible agents for this build configuration. 我尝试了“Visual Studio(sln)”的运行程序类型,
Failed to start MSBuild.exe. Failed to find msbuild.exe at path: /usr/lib/mono/4.0/xbuild.exe
No enabled compatible agents for this build configuration.
我尝试了“Visual Studio(sln)”的运行程序类型,将Visual Studio设置为2012,但出现以下错误
Failed to start MSBuild.exe. Failed to find msbuild.exe at path: /usr/lib/mono/4.0/xbuild.exe
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.
我可以通过向构建代理上的buildAgent.properties文件添加一个环境变量来解决这个问题。找到该文件后,在“环境变量”部分添加类似的内容:
env.MSBuild=/usr/local/lib/mono/xbuild/12.0/bin/
我在ubuntu上这样做是为了让路径与您所寻找的路径不同 你读过这篇文章吗:关于mono的支持,他们是怎么说的?我确实读过,但是对我来说,这看起来像是改变mono居住位置的一种方式。路径是Mono本身的正确路径,但是xbuild的路径不是,在我的机器上,xbuild的顶部是“xbuild”,而不是“xbuild.exe”。是否可以更改仅查找xbuild的位置?我已通过调用带参数的命令行解决了此问题,但我将保留此问题,因为我想知道我的原始问题是否有解决方案。我不知道为什么我以前从未想过此问题,但它确实很有用!很明显,不同操作系统的路径不同,但解决方案不变,谢谢!