суббота, 23 апреля 2011 г.

Как запустить веб сайт Asp.net MVC 3, если хостинг еще не поддерживает ASP.NET MVC 3

Я приобрел хостинг Soho от Mochahost. Они поддерживают ASP.NET 4, но все еще не поддерживают ASP.NET MVC 3 (вторая версия MVC поддерживается). Я только недавно занялся освоением новых фичей 4-го фреймворка и свежего MVC 3, так что думаю, что мой опыт разворачивания MVC 3 приложений, на хостинг будет полезен новичкам и сэкономит им несколько часов времени.

Шаг 0: Включите ASP.NET 4.0 Integrated Papeline

Просто включите его, иначе, без кропотливых дополнительных настроек вы свое ASP.NET MVC 3 приложение просто не запустите.

ASP.NET 4.0 Integrated Papeline

Более подробно integrated mode можно просчитать в статье Using ASP.NET MVC with Different Versions of IIS (C#), опять же, статья будет полезна, если у вас на хостинге используется IIS более ранний версии, чем 7.

Шаг 1: Добавьте в ваш проект необходимые файлы для запуска ASP.NET MVC 3 приложения


Явно добавьте в ваше проект следующие референсы:
Microsoft.Web.Infrastructure
  • System.Web.Helpers
  • System.Web.Mvc
  • System.Web.Razor
  • System.Web.WebPages
  • System.Web.WebPages.Deployment
  • System.Web.WebPages.Razor
Если вдруг необходимые референсы не будут отображаться на вкладке .NET окна Add reference, то зайдите на вкладку Browse и добавьте референсы прямо из GACка %windir%\Microsoft.NET\assembly\

Шаг 2: Для перечисленных выше сборок, установите свойство Copy Local = true

Свойство Copy Local = true необходимо для того, чтобы необходимая сборка, которой может не быть на сервере хостинга скопировалась и использовалась в вашем приложении локально.

Шаг 3: Пересоберите проект и скопируйте его на сервер хостера

После пересборки проекта, скопируйте файлы на серевер хостера. Можете воспользоваться удобной фичей Build -> Publish. Лично я публикую проект в локальную директорию, архивирую его zip-ом, а потом разархивирую его на сервере хостера через файл менеджер. Удачи вам! Тест создан на основе следующего поста: http://drew-prog.blogspot.com/2011/01/how-to-deploy-aspnet-mvc-3-app-to-web.html
 

.NET ate my MOSK;. Powered By Blogger © 2009 Bombeli | Theme Design: ooruc