Текущее состояние (Mono 2.10, 2011): теперь xbuild может создавать все версии проектов Visual Studio / MSBuild, включая файлы .sln. Просто запустите xbuild
, как если бы вы выполняли msbuild
в Microsoft .Net Framework. Вам не нужно устанавливать Monodevelop, xbuild поставляется со стандартной установкой Mono.
Если в вашей сборке используются пользовательские задачи, они все равно должны работать, если они не зависят от исполняемых файлов Windows (например, rmdir
или xcopy
).
Когда вы редактируете файлы проекта, используйте стандартный синтаксис пути Windows - при необходимости они будут преобразованы в xbuild. Одним из важных предостережений к этому правилу является чувствительность к регистру - не смешивайте разные оболочки одного и того же имени файла. Если у вас есть проект, который делает это, вы можете включить режим совместимости, вызвав MONO_IOMAP=case xbuild foo.sln
(или попробуйте MONO_IOMAP=all
). В Mono есть страница, описывающая более продвинутые проекты MSBuild, портирующие методы.
Mono 2.0 answer (2008): xbuild еще не завершен (он работает довольно хорошо с файлами VS2005 .csproj, имеет проблемы с VS2008 .csproj и не обрабатывает .sln). Mono 2.1 планирует объединить кодовую базу mdtool (механизм сборки командной строки MonoDevelop), но в настоящее время mdtool является лучшим выбором. mdtool build -f:project.sln
или man mdtool
, если у вас установлен MonoDevelop.