Можно ли собрать файлы MSBuild (visual studio sln) из командной строки в Mono? - PullRequest
64 голосов
/ 10 сентября 2008

Можно ли создавать решения Visual Studio без запуска MonoDevelop?

Ответы [ 4 ]

67 голосов
/ 11 сентября 2008

Текущее состояние (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.

10 голосов
/ 02 августа 2017

сейчас по состоянию на август 2017 года мы можем использовать

MSBuild

команда как xbuild устарела.

7 голосов
/ 11 октября 2009

xbuild теперь поддерживает решения и проекты, как VS2005, так и VS2008.

4 голосов
/ 10 сентября 2008

Я думаю, что вы ищете xbuild: http://www.mono -project.com / Microsoft.Build

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...