Я приобрел хостинг 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 приложение просто не запустите.
Более подробно 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