¿Debo instalar MVC 3/4 en el servidor web para ejecutar la aplicación mvc?

Tengo una aplicación MVC 4 y funciona bien en mi máquina DEV donde instalé la extensión MVC 4 para VS 2010.

Al implementar en el servidor web con IIS 7, ¿necesito instalar MVC 4 o debería ser suficiente el dll incluido en mi proyecto?

La razón por la que estoy preguntando es que debemos proporcionar el requisito al equipo de infraestructura.

Gracias.

Puede ejecutar una aplicación MVC sin instalar MVC en su servidor. Hay algo llamado dependencia desplegable en Visual Studio. Eso publicará sus archivos DLL MVC en su carpeta bin cuando lo publique.

de la página msdn ,

Esto agregará ensamblajes (archivos DLL) a un proyecto de sitio web o proyecto de aplicación web. Cuando despliega su sitio web o aplicación, los archivos se incluyen en el proyecto implementado. Esto es útil si las aplicaciones o tecnologías de las que depende su proyecto aún no están instaladas en el servidor que alojará su proyecto web. Por ejemplo, puede usar esta función para implementar una aplicación web ASP.NET MVC 3 en un servidor que no tenga ASP.NET MVC 3 instalado.

Haga clic con el botón derecho en Proyecto y seleccione Agregar dependencia desplegable en el menú contextual

enter image description here

Seleccione qué archivos DLL desea que se publiquen

enter image description here

Después de hacer clic en Aceptar, verá una nueva carpeta llamada _bin_deployableAssemblies. Puede realizar el procedimiento de publicación normal ahora y tendrá los dlls en la carpeta bin de la salida de publicación.

enter image description here

Consulte esta publicación para obtener más información http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

Deberías tener Visual Studio 2010 SP1 . De lo contrario, no se mostrará en el menú contextual cuando haga clic con el botón derecho en el proyecto que se publicará.

EDITAR: A partir de MVC4, todos los ensamblajes necesarios para ejecutar una aplicación MVC se agregan automáticamente al directorio bin, y cualquier aplicación MVC4 es bin-deployable (significa que puede ejecutarlo en un servidor sin instalar MVC explícitamente). Por esta razón, el cuadro de diálogo Incluir implementaciones desplegables se ha eliminado de Visual Studio 2012

Ya no tiene la opción de “Agregar dependencias implementables” en Visual Studio 2012. Por lo tanto, tendrá que hacerlo de forma manual, al distribuir bin todos los ensamblajes MVC:

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

Aquí encontrará una guía paso a paso.

Cuando crea un proyecto MVCx específico en Visual Studio verá muchas referencias MVC. * Se agregarán a su proyecto y, de manera predeterminada, todas estas propiedades de referencia “Copiar local” se configuran como “Verdadero”, significa que estas referencias serán parte de su solución final cada vez que se desplegará en. También puede verificar que estas referencias específicas de MVC también sean parte de su carpeta BIN.

Finalmente, cuando empaquete esta solución y la publique en un servidor web específico o en Windows Azure o use WebDeploy, todas estas referencias también serán parte de su paquete. Y debido a que estas referencias se envían en su paquete, siempre que implemente la solución, todas las referencias específicas de MVC estarán allí y, por lo tanto, no es necesario que implemente MVC en esos servidores específicos.

También me gustaría añadir que en cualquier momento cuando agregue una referencia específica a su proyecto en Visual Studio, establezca su propiedad “Copiar local” en TRUE para que la referencia siempre sea parte de su solución final, y le ahorrará problemas en futuro.

Solo necesita tener los dlls desplegados en el contenedor de su proyecto. Para ver un ejemplo de cómo preparar su sitio web para su lanzamiento, consulte la siguiente publicación de blog:

running-an-asp-net-mvc-3-app-on-a-web-server-that-doesn-t-have-asp-net-mvc-3-installed.aspx .