vscode visual studio extension code beautiful autocompletar visual-studio tfs2010 tfsbuild post-build-event

visual-studio - visual - vs code format extension



TFS 2010 Build Automation y evento posterior a la construcción (3)

En el proyecto que he heredado, el desarrollador original usó una serie de eventos posteriores a la compilación en sus proyectos de Visual Studio para copiar alrededor de DLL y otras cosas al crear dentro de VS.

Esto está causando cierto dolor ahora que estoy tratando de mover estas cosas al sistema TFS 2010 Build.

Esperaba poder crear una nueva configuración de proyecto "Continua" y excluir los eventos posteriores a la compilación de Visual Studio en esa configuración, pero parece que esas llamadas no son configurables según la configuración de su proyecto ...

¿Algunas ideas? ¿Hay algo que pueda verificar para saber si estoy ejecutando en TFS Build y luego simplemente omitir esos archivos CMD? ¡Cualquier idea seria muy bienvenida!


Mi enfoque es proteger el código anterior o posterior a la compilación con este

IF "$(BuildingInsideVisualStudio)"=="true" ( ... su código aquí ... )

Esa variable se define automáticamente por Visual Studio y no es necesario cambiar la definición de compilación.


Qué sucede si configura una variable de entorno en el servidor de compilación en equipo y luego puede escribir una comprobación en los pasos de compilación posteriores para verificar esa variable de entorno. Si la variable de entorno está configurada, sabría que debe omitir los archivos de comando que realizan los pasos posteriores a la compilación porque sabría que está ejecutando en la compilación TFS.

Podría combinar todos los pasos de compilación posteriores en una secuencia de comandos, y luego simplemente verificar la variable de entorno al comienzo de esa secuencia de comandos.

O puede hacerlo de la manera opuesta y crear la comprobación en su script de compilación de TFS. Puede consultar here cómo comprobar una variable de entorno en una compilación TFS.

Así que en tu script de compilación TFS tendrías algo como:

<RunScripts Condition=" ''$(RunScriptsServerVar)'' != '''' "> the environment var is NOT set, so run your scripts since we aren''t in a TFS build </RunScripts>


Yo uso un enfoque similar para hacer esto. Agrego lo siguiente a los pasos posteriores a la construcción de cada proyecto:

if ''$(TeamBuild)''==''True'' exit 0

Luego, al configurar la definición de compilación, simplemente agrego:

/p:TeamBuild=True

... a los argumentos de MSBuild.

Esto me da la flexibilidad de mantener toda la configuración en los proyectos y la definición de compilación.