Вопрос по asp.net-mvc-3, asp.net-mvc – Нужно ли устанавливать MVC 3/4 на веб-сервер для запуска приложения MVC?

45

Я имею приложение MVC 4 и хорошо работает на моем компьютере DEV, где я установил расширение MVC 4 для VS 2010.

Нужно ли устанавливать MVC 4 при развертывании на веб-сервере с IIS 7 или достаточно включить dll, включенный в мой проект?

Причина, по которой я спрашиваю, заключается в том, что мы должны предоставить требование команде по инфраструктуре.

Благодарю.

Ваш Ответ

4   ответа
80

не устанавливая MVC на свой сервер. Есть нечто, называемое deployable зависимость в Визуальной студии. Это опубликует ваши MVC DLL в папке bin, когда вы опубликуете их.

от @ MS страница,

Это добавит сборки (файлы DLL) в проект веб-сайта или проект веб-приложения. При развертывании вашего веб-сайта или приложения файлы включаются в развернутый проект. Это полезно, если приложения или технологии, от которых зависит ваш проект, еще не установлены на сервере, на котором будет размещен ваш веб-проект. Например, эту функцию можно использовать для развертывания веб-приложения ASP.NET MVC 3 на сервере, на котором не установлен ASP.NET MVC 3.

Щелкните правой кнопкой мыши на Project и выберите Add Deployable Dependency из контекстного меню

Выберите все библиотеки DLL, которые вы хотите опубликовать

После нажатия ОК вы увидите новую папку с именем _bin_deployableAssemblies. Теперь вы можете выполнить обычную процедуру публикации, и у вас будут dll в папке bin выходных данных публикации.

Проверьте этот пост для более подробной информацииhttp: //haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.asp

У вас должна быть Visual Studio 2010 SP1. В противном случае он не будет отображаться в контекстном меню при щелчке правой кнопкой мыши по проекту, который будет опубликован.

РЕДАКТИРОВАТЬ Начиная с MVC4, все необходимые сборки для запуска приложения MVC автоматически добавляются в каталог bin, и любое приложение MVC4 можно развернуть в bin (это означает, что вы можете запустить его на сервере без явной установки MVC). По этой причине диалоговое окно «Включить развертываемые сборки» удалено из Visual Studio 2012

Shyju У меня есть приложение MVC4, которое не добавляет все необходимые сборки в корзину (System.Web.Razor). У вас есть информация или ссылка на то, как это контролируется / выполняется в MVC4? Спасиб Joe
Я понял. В VS 2012 вы должны установить Копию Справочника в True в его Свойствах. Смотрите пост: / Stackoverflow.com вопросы / 15145253 / ... Только что увидел, что Авкаш Чаухан уже ответил на это ниже. Joe
Я специально установил серверные пакеты MVC 3 и MVC 4 на сервер, чтобы не копировать общие библиотеки MVC каждый раз (у нас много отдельных небольших веб-сайтов, а общие библиотеки составляют до гигабайт). Он отлично работает с MVC 3 (никакие общие двоичные файлы не копируются), но вообще не работает с MVC 4 - если я установил CopyLocal = false для общих двоичных файлов, веб-сайт не работает. В чем тогда смысл серверного пакета? Есть ли правильный поддерживаемый способ установить MVC 4 глобально в GAC, как для MVC3? GSerg
6

isual Studio 2012. Поэтому вам придется сделать это вручную, развернув все сборки MVC:

Microsoft.Web.Infrastructure
System.Web.Helpers
System.Web.Mvc
System.Web.Razor
System.Web.WebPages
System.Web.WebPages.Deployment
System.Web.WebPages.Razor

Пошаговое руководство найденоВо.

Да, я не вижу выбора «Добавить развертываемые зависимости» в VS2015. Michael R
4

вы увидите множество ссылок MVC. * Ссылки добавляются в ваш проект, и по умолчанию все эти свойства ссылки «Копировать локально» установлены как «Истина», что означает, что эти ссылки будут частью ваше окончательное решение всякий раз, когда вы будете развертывать в. Вы также можете убедиться, что эти ссылки, относящиеся к MVC, также являются частью вашей папки BIN.

Наконец, когда вы упакуете это решение и опубликуете его на определенном веб-сервере или в Windows Azure или будете использовать WebDeploy, все эти ссылки также будут частью вашего пакета. И поскольку эти ссылки поставляются в вашем пакете, поэтому везде, где вы будете развертывать решение, будут присутствовать все специфичные для MVC ссылки, и поэтому вам не нужно развертывать MVC на этих конкретных серверах.

Я также хотел бы добавить, что каждый раз, когда вы добавляете конкретную ссылку на ваш проект в Visual Studio, установите для его свойства «Копировать локальный» значение ИСТИНА, чтобы эта ссылка всегда была частью вашего окончательного решения и избавила вас от неприятностей. в будущем

Отличный ответ. Это очень важно для MVC4, поскольку Add Deployable Dependencies был удален из VS 2012. Joe
1

того, как подготовить свой веб-сайт к выпуску, можно найти в следующей записи блога:

Обкатки ан-Asp-нетто-3-MVC-приложение-на-веб-сервер, что-Безразлично-т-у-Asp-нетто-3-MVC-installed.aspx.

Похожие вопросы