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