Как я могу опубликовать проект ASP.NET MVC из командной строки?
У меня есть существующий веб-сайт, который контролирует репозиторий SVN для изменений, и когда есть регистрация, новый веб-сайт построен с использованием aspnet_compiler, а затем отличается от того, что находится на производственном сайте, sftp'd up на веб-сервер производства. Весь процесс непрерывной интеграции построен с использованием cruisecontrol.net.
Я переработал весь сайт для использования ASP.NET MVC, и теперь я пытаюсь интегрироваться в мой процесс сборки. Похоже, что это изменилось, и я не получаю такого же поведения, как и раньше, с сайтом pre-MVC. Я, к сожалению, не добился большого прогресса, потому что кажется, что никто этого еще не сделал. Кто-нибудь получил что-то подобное, чтобы работать в любой форме?
Автоматизация командной строки с использованием "devenv" как "обычного проекта" тоже не работает. Есть /Build командной строки переключатели, но они просто строить на месте. В этой командной строке не отображается механизм публикации, встроенный в пользовательский интерфейс. В каталоге проекта есть даже файл {Project Name}.Publish.xml, который выглядит как манифест того, что нужно опубликовать. Просто нет возможности автоматизировать это.
Я просто пытаюсь подражать "Опубликовать {Название проекта}" в меню сборки в проекте VS MVC MVC из командной строки.
Ответы
Ответ 1
Если вы используете CruiseControl.net, вы можете сделать это на 85%. Можете ли вы использовать NAnt? Это определенно будет путь.
Если нет, тогда я рассмотрю использование msbuild из командной строки, а не devenv, поскольку это не было предназначено для выполнения вы хотите.
NAnt - отличный способ. Хотя, со всеми изменениями, внесенными ими в msbuild, это, безусловно, отличный соперник. Нант недавно получил новую жизнь, вдохнувшуюся в нее, поэтому она должна оставаться отличным вариантом.
Ответ 2
Когда вы создаете проект MVC, это стандартный проект .net, а не "веб-проект", который не является одним и тем же. Я думаю, что aspnet_compiler предназначен только для веб-проектов, так что, возможно, это и вызывает проблемы. Я не знаю, какой инструмент сборки вы используете, но попробуйте создать его, как и любой другой проект .net.