2010-12-15 10 views
5

Tengo un evento de creación posterior creado en Visual Studio 2010. El problema que tengo es que el evento no se ejecuta cuando uso Ejecutar (F5) para iniciar la depuración; parece que solo se ejecuta si genero explícitamente (F6).Evento posterior a la compilación en ejecución (F5) ¿En Visual Studio?

Esto parece suceder incluso cuando los archivos fuente han cambiado (por lo que debe compilarse para ejecutarse).

¿Hay alguna configuración que controle este comportamiento?

Respuesta

9

Los postbuilds solo se ejecutan después de la compilación. Entonces, cuando sus artefactos de construcción estén actualizados, no se compilarán y los postbuilds no se ejecutarán.

Si aún no se ejecutará cuando se tiene que construir, compruebe lo siguiente:

En Visual Studio vistazo a Herramientas -> Opciones -> Proyectos y Soluciones -> Construir un Ejecutar.

¿Está marcada la opción "Solo crear proyectos de inicio y dependencias en Ejecutar"?

Intente desmarcar esa opción.

¿Cuál es el valor de la opción "On Run, cuando los proyectos están desactualizados"? Debe ser "Prompt to build" o "Always build" para asegurarse de desencadenar una compilación al presionar F5.

+0

Al establecer "Crear siempre" no se activará el evento posterior a la creación después de presionar F5. Solo ocurrirá, como dice claramente la etiqueta de la opción, "cuando los proyectos están desactualizados". –

+0

Sí, tiene razón, pero solo quería estar seguro de que no está en "Nunca compilar" – Jan

+0

Hmm, la configuración ya es la que anotó. Según su respuesta, parece que está diciendo que la creación posterior DEBERÍA dispararse cuando presione F5 (suponiendo que el proyecto necesita compilarse). –

1

Solo se ejecuta después de una compilación exitosa. Por eso se llama Post-Build Evento.

Tal vez lo que está tratando de lograr se puede hacer de otra manera. ¿Podría darnos más detalles? ¿Que estás tratando de hacer? ¿Qué desea ejecutar antes de cada sesión de depuración, y por qué?

0

Compruebe si el comando es correcto. Un ejemplo sencillo sería:

copy "$(SolutionDir)$(ProjectName)\test.txt" ".\test.txt" 
+0

Aún más simple: 'calc'. El evento de construcción del asker está bien ya que, como mencionó, se ejecuta cuando construye. –

Cuestiones relacionadas