Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CentOS上使用TeamCity从GitHub构建C#(Mono)解决方案_Mono_Centos_Teamcity - Fatal编程技术网

在CentOS上使用TeamCity从GitHub构建C#(Mono)解决方案

在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)”的运行程序类型,

我试图让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)”的运行程序类型,将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的位置?我已通过调用带参数的命令行解决了此问题,但我将保留此问题,因为我想知道我的原始问题是否有解决方案。我不知道为什么我以前从未想过此问题,但它确实很有用!很明显,不同操作系统的路径不同,但解决方案不变,谢谢!