2012-09-12 85 views
10

Por lo tanto, cuando instala MVC en Visual Studio, coloca las DLL de MVC en el GAC. Por lo tanto, no es necesario que estén en el sistema de archivos de su proyecto para permitir la construcción del proyecto.Integración continua con ASP.Net MVC

Cuando implementamos esto para vivir y nuestro servidor de integración continua las dependencias requeridas para MVC y Razor no están en control de versión. El porqué Microsoft ha hecho esto tan complicado está más allá de mí.

Soy uno para automatizar todo lo que pueda, así que me pregunto cuál es la mejor manera de resolver el problema de los dlls faltantes.

Ahora para los proyectos ASP.Net MVC he resuelto este uso de la distribución de contenedores como se menciona aquí http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx en el blog de Phil Haack. Esto funciona bien, pero también tengo algunos proyectos de biblioteca que hacen referencia a System.Web.Mvc que no se compilan en el servidor de compilación y las opciones de despliegue de bin en Visual Studio no están disponibles para los proyectos de biblioteca.

Creo que lo correcto es utilizar NuGet

Install-Package Microsoft.AspNet.Mvc -Version 3.0.20105.1 

Sin embargo, ¿cuál es la mejor práctica y hay cualquier dificultad en el uso de NuGet de esta manera? p.ej. ¿Debería cambiar todos mis proyectos web ASP.Net MVC para utilizar este paquete desde NuGet en lugar de instalar bin los dlls en el GAC?

Respuesta

8

Hemos hecho algo similar en un proyecto de MVC 4.

Instalamos MVC usando NuGet, luego habilitamos la restauración del paquete en el proyecto, y asignamos la carpeta .nuget al repositorio. http://blog.davidebbo.com/2011/08/easy-way-to-set-up-nuget-to-restore.html

Install-Package Microsoft.AspNet.Mvc 
Install-Package NuGetPowerTools 
Enable-PackageRestore 

Cuando el proyecto se basa en la construcción de servidor, los paquetes que faltan se descargan de Nuget, cuando el despliegue que se incluyen en el directorio bin de forma automática.

Diría que su enfoque es correcto en lugar de utilizar el método bin deploy y enviar los ensamblados necesarios al repositorio.

Cuestiones relacionadas