Я добавил дополнительный шаг после сборки, чтобы я мог интегрировать mspec с teamcity. Однако я не хочу запускать это при сборке в IDE, так как это удлиняет время сборки. Есть ли какой-то способ определить, собираюсь ли я из среды 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" />
Простое решение - добавить еще одну конфигурацию сборки, но я бы предпочел этого не делать.
Также вывод команды TeamCity в окно вывода раздражает. :)