我正在使用 OpenCover 4.7.922 和 nUnit 控制台运行程序 3.10.0。
我有一个myproj.tests
测试的项目myproj
.
建成后,myproj.tests\bin\debug
包含myproj.tests.dll
, myproj.tests.pdb
, myproj.dll
, myproj.pdb
.
myproj
已在 GAC 注册。
我这样称呼 OpenCover:
OpenCover.Console.exe -output:opencover.xml -register:user -target:"nunit3-console.exe" -targetargs:"myproj.tests\bin\debug\myproj.tests.dll --result=NUnitResults.xml"
opencover.xml
包含
<Module skippedDueTo="MissingPdb" hash="DD-83-09-69-9F-A7-11-FF-F5-BC-43-7C-87-B2-54-99-0D-A5-D5-61">
<ModulePath>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\myproj\v4.0_1.0.0.0__bf95fa7f15863c9f\myproj.dll</ModulePath>
<ModuleTime>2019-09-05T16:07:28.6111533Z</ModuleTime>
<ModuleName>myproj</ModuleName>
<Classes />
</Module>
我相信这表明 OpenCover 正在 GAC 中查找 PDB,即使它与 中指定的 dll 位于同一文件夹中targetargs
.
我尝试过设置-targetdir
and -searchdirs
to the myproj.tests\bin\debug
文件夹(包含 dll 和 pdb 文件)但这并没有对opencover.xml
我可以告诉 OpenCover 在特定位置(不是 GAC)中查找 PDB 吗?
或者我必须从 GAC 取消注册然后运行 OpenCover?