He agregado un paso adicional después de la compilación para poder integrar mspec con teamcity. Sin embargo, no quiero ejecutar esto cuando estoy construyendo en el IDE, ya que alarga el tiempo de construcción. ¿De alguna manera puedo detectar si estoy creando desde el IDE y no ejecutar este objetivo específico? Esto es lo que tengo hasta ahora.¿Es posible detectar al construir en el VS IDE?
<Target Name="RunSpecs">
<PropertyGroup>
<AdditionalSettings>--teamcity</AdditionalSettings>
<MSpecCommand>..\Lib\mspec\mspec.exe $(AdditionalSettings) "$(TargetDir)$(AssemblyName).dll"</MSpecCommand>
</PropertyGroup>
<Message Importance="high" Text="Running Specs with this command: $(MSpecCommand)" />
<Exec Command="$(MSpecCommand)" IgnoreExitCode="true" />
</Target>
<Target Name="AfterBuild" DependsOnTargets="RunSpecs" />
La solución fácil es agregar otra configuración de compilación, pero preferiría no hacerlo.
También la salida de TeamCity que se descarga a la ventana de salida es algo molesto. :)
temporalmente solo estoy ejecutando esto en la versión de lanzamiento de la compilación, pero todavía estoy interesado en saber si es posible detectar si la compilación se está realizando en el IDE – Dave