我怎样才能让MSBuild始终在构建时标记过时的目标?

时间:2013-08-17 22:40:00

标签: c++ msbuild googletest

我在Google Test项目中进行了一些单元测试。我想将这些测试作为我的msbuild脚本的一部分运行。我已将以下内容添加到vcxproj文件中:

<Target Name="AfterBuild">
  <Exec Command="&quot;$(TargetPath)&quot;"
        IgnoreExitCode="true"
        IgnoreStandardErrorWarningFormat="true"
        CustomWarningRegularExpression=": error:"/>
</Target>

不幸的是,由于Exec没有输入或输出,它只运行一次,并且永远不会导致vcxproj本身被标记为过时。

如何强制此Exec始终过时(以便每次构建都运行)?

1 个答案:

答案 0 :(得分:1)

您可以在包含要测试的代码的DependsOnTargets上添加vcxproj属性w / dependency。这样,每次更新和构建代码时,都会执行单元测试。