2009-09-01 14 views
32

Para aplicaciones normales (por ejemplo, Windows Forms) C#, para ejecutar comandos después de una compilación exitosa, utilizaría la línea de comandos de compilación Event Events-> Post-build en Project Properties.Publicar publicar eventos

Tengo un proyecto de sitio web que "publico", utilizando el comando "Publicar ..." en el menú contextual en el explorador de soluciones.

¿Hay alguna manera de ejecutar comandos después de la publicación exitosa? En caso afirmativo, ¿cómo se hace? (por ejemplo, un campo de línea de comando de evento posterior a la publicación)

Visual Studio 2008, proyecto de sitio web ASP .Net, C#.

Respuesta

24

Actualización: Dado que Publicar web no se aplica a proyectos de sitios web basados ​​en carpetas, esta respuesta supone que usted está preguntando sobre un proyecto de aplicación web.

No puede hacer esto desde dentro del VS IDE. Sin embargo, puede editar su archivo de proyecto en el Bloc de notas o su editor XML favorito y agregar un nuevo destino al final del archivo llamado AfterPublish.

Es posible que desee leer un poco más en MSBuild si no está seguro de lo que puede hacer en este objetivo.

Puede encontrar más detalles sobre cómo extender el proceso de compilación en VS en MSDN - HowTo: Extend the Visual Studio Build Process.

+0

Gracias, temí que no fuera posible dentro del IDE. Esta es una buena solución ya que nuestro CI usa scripts de msbuild. Esperaba poder hacerlo también en Visual Studio. Lo que podría hacer es crear un nuevo script de msbuild, luego crear un comando de "Herramientas externas" para ejecutar ese script de construcción en lugar de hacer un estudio visual "publicar". Preferiría no modificar el archivo proj si es posible. ¡Gracias por su ayuda y respuesta rápida! – Russell

+0

He votado a favor de contestar porque no entiendo cómo puede ser una respuesta aceptada. Un sitio web no tiene un archivo de proyecto. Ayúdenos a mí y a otros a entender aclarando la respuesta o dando un comentario de por qué se aceptó esta respuesta. – AMissico

+0

Es solo una terminología mixta. Tiene razón: los proyectos de sitios web basados ​​en carpetas no tienen un archivo de proyecto. Sin embargo, tampoco hay ningún comando de publicación para dicho projest. Los proyectos de aplicaciones web, por otro lado, tienen un archivo de proyecto y se les aplica el comando Publicar web. Mi suposición fue que la pregunta se refiere a una aplicación web vs. sitio web. Como mi respuesta fue aceptada, me atrevería a adivinar que mi suposición era correcta. Eso no me excusó de usar la terminología correcta, por supuesto. –