【问题标题】:OpenCover cannot find PDB when using symbolic links?OpenCover 在使用符号链接时找不到 PDB?
【发布时间】:2013-02-11 16:46:45
【问题描述】:

在我们的输出树中,Test 目录仅包含指向各种构建目录中的 DLL 的符号链接 (Win7 x64)。在实际构建目录中的每个 DLL 旁边都有一个相应的 PDB 文件。但是,当在测试目录中的 DLL 上运行 OpenCover 时,它以“无结果 - 没有检测到与提供的过滤器匹配的程序集这可能是由于缺少匹配过滤器的程序集的 PDB,请查看输出文件并参考到使用指南(Usage.rtf)”

我使用的命令行是:

D:\tools\opencover.4.5\OpenCover.console -target:d:\tools\nunit-2.5.10\nunit-console.exe -targetargs:"d:\temp\Test\Test.Mixed.dll /nologo / noshadow /labels /xml=d:\temp\Test\output\Test.Mixedatp_results.xml" -output:d:\temp\Test\Results\coverage\Test.Mixed.xml -filter:+[*]* -register :用户

如果我将适用的 PDB 复制到测试目录中,则覆盖范围确实有效。有没有办法使用符号链接来解决这个问题?

谢谢。

【问题讨论】:

    标签: code-coverage symlink pdb opencover


    【解决方案1】:

    尝试使用-targetdir: 参数指向二进制文件+pdb 所在的文件夹,即您的符号链接文件夹?

    【讨论】:

    • 这个参数是否进行递归搜索?准确地说,如果我有一个包含多个测试项目(如 testProject/Test1/bin/release 和 testProject/Test12/bin/release)的文件夹,我可以只引用 testProject 的完整路径吗?
    • @VinShahrdar - 我们已经添加了一个新参数searchdirs,它允许您提供多个路径来查找 PDB
    • 什么时候需要-searchdirs 参数?因为我注意到有时候如果我不提供这个参数,并且在-targetargs参数中提供多个目标dll,OpenCover会自动检测pdb文件。不过我可能是错的......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    • 2017-11-04
    相关资源
    最近更新 更多