usar team significa que plataforma herramienta curso costo como beneficios tfs msbuild tfsbuild team-build

team - ¿Cómo se puede determinar si un csproj se está ejecutando en un agente de compilación TFS?



que significa tfs (3)

Tienes pocas opciones:

  1. ''$(BuildingInsideVisualStudio)'' != ''''
  2. ''$(TeamBuildConstants)'' != '''' con Team Build 2008)
  3. ''$(IsDesktopBuild)'' == ''false''

Puede marcar cualquiera de los dos para detectar el contexto en el que se ha ejecutado la tarea. Si ambos no se evalúan, entonces se ha llamado a MsBuild desde la línea de comandos u otro proceso.

Usamos TFS 2010.

Hay un par de proyectos con pasos de implementación que deben saber si se están ejecutando en una máquina de desarrollo o en el agente de compilación TFS.

En este momento, comprueban si la construcción es desde Visual Studio, suponiendo que solo los desarrolladores compilan desde VS. ¡Ay, significa que no puedo compilar desde la línea de comando!

Entonces, mi pregunta es cómo un script de msbuild puede determinar si el agente de compilación de TFS lo está ejecutando.


Tengo TFS2012 y uso esto:

<IsTfsServerBuild Condition=" ''$(IsTfsServerBuild)'' == '''' ">false</IsTfsServerBuild> <IsTfsServerBuild Condition=" ''$(BuildingInsideVisualStudio)'' != ''true'' AND ''$(BuildUri)'' != '''' ">true</IsTfsServerBuild>


Al llamar a MSBuild desde la línea de comando, puede pasar / sobrescribir propiedades como esta:

# Simulate Visual Studio build . msbuild.exe Project.csproj /p:BuildingInsideVisualStudio=true [...] # Custom property . msbuild.exe Project.csproj /p:MyCustomProperty=true [...]

Es usarlos para verificarlos en mis eventos post / afterbuild.