Какую правильную систему сборки использовать с Mono и несколькими проектами с зависимостями, кроме MonoDevelop? - PullRequest
2 голосов
/ 02 ноября 2008

В предыдущем вопросе я спрашивал об использовании xbuild для компиляции файла решения, только чтобы узнать, что он не работает для этого. NAnt кажется немного устаревшим. Какие еще есть варианты? Мне нужно что-то, что поддерживает зависимости между несколькими проектами.

Ответы [ 4 ]

3 голосов
/ 02 ноября 2008

Я задавал похожий вопрос:

Можно ли создавать файлы MSBuild (visual studio sln) из командной строки в Mono?

И ответ (до тех пор, пока xbuild не будет завершен) будет mdtool .

2 голосов
/ 06 декабря 2009

Я использую mono-trunk (mono 2.6), и xbuild теперь определенно гораздо более способен.

2 голосов
/ 02 ноября 2008

Я не уверен, что нужно использовать только одну правильную систему сборки. :-)

Я знаю, что команда Mono использует make для сборки MonoDevelop и что MonoDevelop использует make под прикрытием для создания проектов, созданных MonoDevelop (http://tirania.org/blog//texts/md-build.html).

Тем не менее, существует также xBuild (http://www.mono -project.com / Microsoft.Build ), который является совместимым с MSBuild механизмом сборки, созданным командой mono. Это может быть лучшим инструментом, поскольку он позволит вам создавать свои проекты на платформе Microsoft .NET в дополнение к Mono. Эта ссылка (http://go -mono.com / forums / # nabble-td15680662 ) говорит о том, что MD движется в сторону MSBuild.

0 голосов
/ 05 ноября 2008

xBuild был дерьмом до 5 месяцев назад.

Я не знаю, изменилось ли это, но, судя по тому факту, что MonoDevelop по-прежнему не будет его использовать, я бы сказал, что он все тот же.

Я очень сомневаюсь, что любая официальная моно сборка содержит функционал xbuild.

mdtool IMO - очень плохое решение, особенно для таких людей, как я, создание моно-приложений на удаленных серверах, которые не имеют и НЕ будут иметь инфраструктуру графического интерфейса, необходимую для установки mdtool.

То, что я нашел рабочим решением, - это позволить MonoDevelop генерировать скрипты automake для вас и продолжать взламывать их вручную.

На самом деле все было не так плохо, как может показаться, и я даже сделал несколько моно-приложений для синхронизации элементов из .csproj с файлами Makefile.am.

...