Dav*_*ave 9 msbuild visual-studio
我添加了一个额外的构建步骤,以便我可以将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" />
Run Code Online (Sandbox Code Playgroud)
简单的解决方案是添加另一个构建配置,但我不想这样做.
将TeamCity输出转储到输出窗口也有点烦人.:)
是的,您可以查看酒店BuildingInsideVisualStudio.
因此,在您的情况下,您可以执行以下操作:
<Target Name="RunSpecs" Condition=" '$(BuildingInsideVisualStudio)'!='true' ">
<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>
Run Code Online (Sandbox Code Playgroud)
注意目标上的条件.仅供参考,我通常建议不要将条件放在目标上,但这对他们来说是一个很好的用法.
| 归档时间: |
|
| 查看次数: |
1143 次 |
| 最近记录: |