Cómo encontrar el camino a tf.exe de MSBuild


Tengo un archivo MSBuild que se ejecuta en TFS usando tf.exe por algunas cosas. Desafortunadamente el tf.el archivo exe se ha instalado en diferentes ubicaciones en los EQUIPOS desarrolladores y el servidor de compilación.

Realmente me vendría bien una forma de detectar dónde está el tf.el archivo exe se encuentra dentro de mi script de la misma manera que puedes hacer $(MSBuildExtensionsPath32), etc. Es esto posible?

Gracias como siempre:)

Author: Chris Surfleet, 2011-08-08

2 answers

¿La variable de entorno VS100COMNTOOLS apunta a la ruta correcta para visual studio? E. g. VS100COMNTOOLS = C: \ Archivos de programa \ Microsoft Visual Studio 10.0 \ Common7 \ Tools \

Entonces todo lo que necesitas es $(VS100COMNTOOLS)..\IDE

<Target Name="Build">
   <Exec Command="&quot;$(VS100COMNTOOLS)..\IDE\tf.exe&quot;"/>
</Target>

O como quieras ordenarlo.

La variable de entorno cambia dependiendo de la versión de Visual Studio:

  • %VS110COMNTOOLS% - Visual Studio 2012
  • %VS120COMNTOOLS% - Visual Studio 2013
  • %VS140COMNTOOLS% - Visual Estudio 2015
 38
Author: James Woolfenden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-29 16:45:42

Parece que cambiaron de ubicación de nuevo en Visual Studio 2017. No estaba en ninguna de las ubicaciones anteriores en mi máquina.

Encontré TF.exe en su lugar en C:\Program Archivos (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer

Aparentemente la variable de entorno ya no se establece por defecto en VS 2017.

 5
Author: Yamamoto Hagi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-08 12:01:05