2009-04-04 14 views
10

Tengo un sitio web existente que supervisa un repositorio SVN para ver los cambios y, cuando hay un check-in, el nuevo sitio web se crea usando aspnet_compiler y luego se difunde un fragmento de lo que está en el sitio de producción. un servidor web de producción. Todo el proceso de integración continua se construye usando cruisecontrol.net.¿Cómo puedo publicar un proyecto ASP.NET MVC desde la línea de comandos?

Refactoreé todo el sitio para usar ASP.NET MVC y ahora estoy tratando de integrarlo en mi proceso de compilación. Parece que esto ha cambiado y no estoy obteniendo el mismo comportamiento que solía tener con un sitio previo a MVC. Lamentablemente, no estoy progresando mucho porque parece que nadie ha hecho esto todavía. ¿Alguien ha conseguido que algo así funcione de alguna forma?

Automatizar la línea de comando usando "devenv" como un "proyecto regular" tampoco funciona. Hay modificadores de línea de comando/Build, pero solo se crean en su lugar. Esta línea de comando no expone el mecanismo "Publicar" que está integrado en la interfaz de usuario. Incluso hay un archivo {Project Name} .Publish.xml en el directorio del proyecto que parece ser un manifiesto de lo que debe publicarse. Simplemente no hay manera de automatizar eso.

Estoy tratando de emular el "Publicar {Nombre del proyecto}" en el menú de compilación en el proyecto VS 2008 MVC desde la línea de comandos.

Respuesta

-1

Cuando crea un proyecto MVC, este es un proyecto .NET estándar y no un "proyecto web", que no es lo mismo. Creo que aspnet_compiler es solo para proyectos web, así que tal vez esto es lo que está causando problemas. No sé qué herramienta de compilación está utilizando, pero intente construirlo como cualquier otro proyecto .net.

+1

Estoy tratando de emular el "Publicar {Nombre del proyecto}" en el menú de compilación del proyecto VS 2008 MVC. – Clearly

+0

Desde la línea de comandos – Clearly

+0

MSBuild o NAnt –

1

Si usa CruiseControl.net, ya ha hecho el 85% de esta tarea. ¿Eres capaz de usar NAnt? Ese definitivamente sería el camino a seguir.

De lo contrario, analizaría el uso de msbuild desde la línea de comandos en vez de devenv, ya que no estaba diseñado para hacer lo que quisiera.

NAnt es definitivamente una gran manera de hacerlo. Sin embargo, con todos los cambios que han hecho a msbuild, sin duda es un gran competidor. Recientemente, Nant recibió una nueva vida respirando, así que debería seguir siendo una excelente opción.

+0

+1 Siga los consejos de Nick DeVore. Esta es la mejor manera de hacerlo, hay muchas secuencias de comandos NANT disponibles para usar. –

Cuestiones relacionadas