Изграждане на C# (Mono) решение от GitHub с TeamCity на CentOS

Опитвам се да накарам TeamCity да прави автоматизирани компилации за мен на CentOS, но ако създам тип runner на „MSBuild“, получавам следната грешка

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

Опитах тип runner на „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.

person JustinN    schedule 27.10.2013    source източник
comment
Опитахте ли да прочетете това: confluence.jetbrains.com/display/TCD8/Mono+Support С какво казват за моно поддръжка?   -  person Welsh    schedule 28.10.2013
comment
Прочетох това, но ми изглежда като начин да промените местоположението, където живее Моно. Пътят е has е правилният път за самия Mono, но пътят на xbuild не е, отгоре на което xbuild на моята машина е xbuild, а не xbuild.exe. Възможно ли е да промените мястото, където търси само xbuild?   -  person JustinN    schedule 28.10.2013
comment
Реших този проблем, като вместо това извиках командния ред с аргументи, но ще запазя този въпрос отворен, тъй като бих искал да знам дали има решение за първоначалния ми въпрос.   -  person JustinN    schedule 29.10.2013


Отговори (1)


Успях да заобиколя това, като добавих променлива на средата към файла buildAgent.properties на агента за изграждане. След като намерите този файл, добавете нещо подобно в раздела Променливи на средата:

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

Правех това с ubuntu, така че този път може да не е същият като този, който търсите.

person Kyle Sonaty    schedule 02.09.2014
comment
Не знам защо никога не съм се сещал за това преди, но наистина действа очарователно! Очевидно пътят варира от ОС до ОС, но решението остава същото, благодаря! - person JustinN; 29.09.2014