ASP.NET Aplicación Web de Salida de la Compilación - ¿Cómo puedo incluir todos los archivos de implementación?

StackOverflow https://stackoverflow.com/questions/55323

Pregunta

Cuando voy a construir mi ASP.NET aplicación web puedo conseguir una .dll fichero con el código de la página web en la misma (que es mucho), pero el sitio web también necesita de todas las .archivos aspx y amigos, y estos deben ser colocados en el directorio correcto de la estructura.¿Cómo puedo obtener todo esto en un directorio como el resultado de cada generación?Tratando de recoger el derecho archivos fuera del directorio de origen es un dolor.

El resultado final debe ser xcopy de despliegue.

Actualización: Yo no quiero tener que utilizar manualmente el comando Publicar que soy consciente de.Quiero que el conjunto completo de archivos requeridos por la aplicación para la salida de la compilación - esto significa que yo también obtener el conjunto completo de archivos en un solo lugar de la ejecución MSBuild.

¿Fue útil?

Solución

Una solución que parece ser la Web de Proyectos de Implementación (WDPs), un complemento para Visual Studio (y msbuild) disponibles que se construye un proyecto web a un directorio y, opcionalmente, puede combinar las asambleas y alterar la web.archivo de configuración.El resultado de la construcción de un WDP es que todos los archivos necesarios para implementar el sitio en un directorio.

Más información acerca de la Implementación en la Web Proyectos:

  1. Anuncio en webdevtools blog de MSDN para WDP 2008
  2. ScottGu introducción a WDP 2005

La única desventaja de esta solución es el requisito de un add-on que debe estar disponible en el equipo de generación.Aún así, es lo suficientemente bueno para ahora!

Otros consejos

ASP.NET no tiene real la implementación de xcopy para nuevo sitios.Depende de tener un directorio virtual/Aplicación en IIS.Sin embargo, una vez que el directorio virtual creado se puede utilizar xcopy para las actualizaciones.

Usted puede Publicar el sitio Web..Si quieres automatizar la implementación, es necesario utilizar algún secuencia de comandos.

Has probado a utilizar el aspnet_compiler.exe en su .net framework directorio?Estoy bastante seguro de que usted puede crear un "implementar listo", versión de una aplicación web o sitio web.

El _CopyWebApplication de destino en MSBuild va a hacer exactamente lo que usted necesita.El problema es que sólo el principal de la asamblea serán copiados a la carpeta bin y es por eso que una tarea de copia es necesario para copiar cualquier otro archivo en la carpeta bin.

Yo estaba tratando de enviar el script de ejemplo como parte de este post, pero no era capaz.

Por favor, echa un vistazo a este artículo en mi blog que describe cómo crear un script de MSBuild similar a la que necesita.

¿Has probado haga clic en el sitio web en el Explorador de soluciones y hacer clic en "Publicar sitio Web'?

Construir --> Publicar

Aparecerá un cuadro de diálogo que le guiará a través del proceso.

Para la construcción automatizados que usted describe en la actualización, te recomiendo que te mira en MSBuild y CruiseControl.NET

Depende de lo complicado que la solución que usted necesita, usted podría simplemente utilizar una secuencia de comandos y jenkins, por ejemplo.Usted puede usar MSBUild con Jenkins sólo para la implementación de una IIS.Y si usted tiene Jenkins otras herramientas es bastante fácil de conectar a ella más tarde.Pero si usted sólo quiere construir, utilizar una secuencia de comandos que jenins ejecutar cada generación que utiliza MSDeploy y será un gran trabajo.

Esta es la forma en que lo hacen, sólo para darles una idea:

Sonarqube utiliza Galión, el Gendarme, FXcop, Stylecop, NDepths y PartCover para obtener las métricas y todo esto es muy sencillo ya que SonarQube hacer esto de forma automática sin mucho configuración.

Aquí está Jenkins bruja construye y obtener Sonar métricas y un otro trabajo para implementar automáticamente a IIS.Yo uso una simple secuencia de comandos en una línea que llama a mi MSBuild y que URL, pass y usuario.

Y Sonarqube, todas las métricas para mi proyecto.Este es un simple MVC4 app, pero funciona muy bien!:

Si desea más información puede proveer de usted con una buena guía.

Esta configuración se utiliza MSBuild, demasiado construir e implementar las aplicaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top