【发布时间】:2015-03-24 13:59:10
【问题描述】:
我正在对 OpenCover 和 NUnit 进行一些修改以满足我的需要。
简而言之,即使在 Nunit 中启用了影子复制,我也想获得覆盖率信息。但是,当 pdb 文件不存在时,OpenCover 无法跟踪程序集。在 NUnit 中启用 shadow-copy 时,被测程序集被复制到 shadow 目录,OpenCover 无法找到对应的 pdf 文件。
起初,我认为 .Net Runtime 只是没有将 pdb 文件复制到影子目录。但是在我进一步调查这个问题后,我发现运行时会复制 pdb 文件,但不会在复制程序集的同时。
我现在的理解是运行时会首先将程序集复制到影子目录。然后将加载这些程序集并通知 Opencover。 OpenCover 发现没有 pdb 文件,因此这些程序集被忽略。一段时间后,pdb 文件被复制,但 OpenCover 没有注意到这一事实,因此无法跟踪这些程序集。
所以我的问题是 .Net 运行时将 pdb 文件复制到影子目录的确切时间是多少?是否可以修改 OpenCover 以便它能够跟踪这些影子复制的程序集?
【问题讨论】:
标签: nunit pdb-files opencover shadow-copy