没有PDB文件的TeamCity dotCover

时间:2015-10-09 19:45:37

标签: powershell msbuild nunit teamcity dotcover

我正在运行以下内容:

  • TeamCity Enterprise 7.1.5(build 24400)
  • NUnit runner 2.6.2
  • dotCover(已整合)

我需要让dotCover工作,但是由于解决方案的大小,有一个MS Build文件负责构建,并且作为其一部分,它在NUnit运行之前的步骤中删除了PDB文件。结果是dotCover无法成功,因为PDB是强制性的。

如果删除构建文件中删除PDB的行,一切正常。不幸的是,它具有构建性能影响,这意味着我不允许将其删除。

我的下一个想法是删除该行,允许构建步骤完成,允许使用dotCover的NUnit步骤完成,然后添加一个删除这些文件的新步骤(这是具有最大性能问题的OD2部署,不是构建本身。)

这个问题是我不知道在PowerShell脚本中放置什么路径:

Get-ChildItem -Path C:\[UNKNOWN PATH] -Include *.pdb -File -Recurse | foreach { $_.Delete()}

我使用什么路径?我可以使用TC变量吗?或者,我可以让MSBuild使用dotCover运行NUnit然后删除文件吗?或者完全有更好的解决方案吗?

对任何想法持开放态度。

1 个答案:

答案 0 :(得分:0)

虽然由于性能原因我无法保留PDB文件,但我能够在单元测试之后插入新的构建步骤,其唯一的工作是在测试步骤之后删除PDB文件。然后我删除了在主构建文件中删除它们的行。

这意味着删除了PDB并且不会减慢OD,但它们适用于dotCover。

这解决了这个问题。