es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Visual Studio: El comando “clean” ejecuta un objetivo de compilación personalizado.

Estoy teniendo dificultades con el siguiente problema y no lo entiendo. Tengo un proyecto Visual Studio Xamarin (VS 2019 en Windows 10). En el archivo del proyecto he definido un objetivo de compilación personalizado:




Quiero que se ejecute siempre después del objetivo definido PrepareForBuild. Cuando construyo el proyecto, se ejecuta mi objetivo y lo veo en la salida de compilación (mi mensaje personalizado se muestra y algunos archivos se actualizan según lo definido en el objetivo).

El problema es que mi objetivo personalizado también se ejecuta (¡tal vez incluso varias veces!), cuando ejecuto el comando “limpiar” para el proyecto. En este caso, no veo mi mensaje en el registro de salida (la verbosidad de MSBuild está configurada en diagnóstico en las opciones), el objetivo tampoco aparece en el resumen de rendimiento de tareas, pero se ejecuta (mis archivos se actualizan). Esto es algo que no entiendo. El objetivo PrepareForBuild tampoco se ejecuta cuando se llama a la limpieza. ¿Por qué se ejecuta mi objetivo incluso cuando se llama a limpiar?

Si cambio mi tarea para que se ejecute después de BeforeBuild, entonces no se llama cuando se ejecuta limpiar, pero necesito que se ejecute antes de BeforeBuild.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que su objetivo personalizado esté siendo llamado por otro objetivo. Puede verificar esto estableciendo la verbosidad de MSBuild en diagnóstico en las opciones y luego ejecutando el comando clean. Esto debería darle una mejor idea de lo que está sucediendo y por qué se está llamando a su objetivo. También puede intentar cambiar el atributo AfterTargets de su objetivo personalizado a BeforeBuild y ver si eso ayuda.

Comments are closed.