Подтвердить что ты не робот

Настройка MVC 4 (Razor) с помощью MonoDevelop

Я пытаюсь отчаянно настроить MVC 4 (в худшем случае 3) с помощью Razor на Monodevelop. Я сижу на машине Mac OS X, с Mono 2.11.4.

Кажется, что не все сборки необходимы. System.Web.Helper, например, похоже, не найден. И MonoDevelop может найти только System.Web.Mvc версии 3 (с выбранным NET Framework 4.5) или версией 2 (с выбранным NET Framework 4.0). Кто-нибудь знает, как заставить MVC 4 работать с Razor?

4b9b3361

Ответ 1

(Страницы Razor работали с Mono, теоретически, с версией 2.10.x, но вам нужно было объединить сборки Microsoft с ним в ваш Linux-блок.)

Поскольку Mono 2.11.1, эти сборки теперь включены по умолчанию в Mono, потому что недавно Microsoft открыла Razor из источника (на март 2012 г.), Итак: вы используете правильную версию Mono.

Ловушка заключается в том, что, как объясняется в этот blogpost, MVC4 зависит от стека API асинхронного ASP.NET, который еще не готов в Моно. Итак, да, теперь вы можете использовать Razor с Mono без необходимости развертывания MS-сборок из Windows, но теперь вам нужно придерживаться MVC3, а не 4.

(Скопировал мой ответ из этого другого вопроса о стеке_процесса и немного изменил его.)

Ответ 2

Я модифицировал шаблон проекта VS2010 MVC4 для запуска внезадачного zip файла в Xamarin Studio/MonoDevelop на Mac и Linux: http://www.cafe-encounter.net/p1319/run-asp-net-mvc4-on-mono-monodevelop-on-mac-the-c-template-project.

Обновление: Я сделал MVC4 на .Net 4.5 шаблоне с примечаниями в http://www.cafe-encounter.net/p1510/asp-net-mvc4-net-framework-version-4-5-c-razor-template-for-mono-on-mac-and-linux, включая ссылку к github.

Ответ 3

В соответствии с страницами совместимости на сайте Mono поддерживается MVC4, за исключением асинхронных функций. Если только часть структуры MVC4, использующая по умолчанию асинхронную связь, не использует эти новые функции, это может быть проблемой, если вы добавили этот шаблон в свой код.