gpt4 book ai didi

.net - 强制NCover 1.5.8使用v4框架(如testdriven.net)吗?

转载 作者:行者123 更新时间:2023-12-03 12:38:29 26 4
gpt4 key购买 nike

我想从命令行运行coverage,但似乎无法让NCover 1.5.8来检测代码。当我使用TestDriven.net运行覆盖率测试时,它必须能够工作。区别似乎是TD.NET能够使NCover使用框架4.0(运行时在日志中获取此内容:MESSAGE: v4.0.30319),但是从命令行我无法做到这一点(我在日志:MESSAGE: v2.0.50727

那么,如何像在TD.NET中一样,使NCover在命令行中与nunit配合使用呢?

最佳答案

经过更多搜索后,我发现了这一点:


如果您发现此线程是因为
您正在尝试将NCover 1.5.8转换为
使用.NET 4,然后执行以下操作
应该解决此错误:

打开命令提示符,然后键入
跟随集
COMPLUS_ProfAPI_ProfilerCompatibilitySetting =启用V2Profiler

这指示.NET 4 CLR加载
.NET Framework 2.0 Profiler。

有关更多信息,请参见:
http://msdn.microsoft.com/en-us/library/dd778910.aspx


在线程here的末尾

这似乎解决了我的问题

编辑:

真的不能解决我的问题。现在,它仅允许生成coverage.xml,但它仅包含v2.0框架程序集,因此仅对.net 2.0程序集进行了分析...。

rr回到绘图板...

编辑2

哈利路亚!我通过随机谷歌搜索和更改的过程来解决这个问题。无论如何,由于找到了一些指针here,我能够弄清楚我需要做的是将运行代码(在这种情况下为nunit.console-x86.exe)的应用程序的exe.config更改为not不仅强制加载.net框架的特定版本,而且还允许使用旧版激活策略。简而言之,我能够通过以下方法解决此问题:


以下部分添加到nunit-console-x86.exe.config中:



<configuration>  
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
</startup>
</configuration>




在从中启动命令的环境中进行设置:

set ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
set COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
(不确定两者是否都是必要的,但这就是我所做的)


我还向NCover.Console.Exe.config添加了类似的设置,但事实证明这是不必要的。

编辑3

这是我正在使用的命令行(请注意,我将所有ncover和nunit及其测试程序集都复制到一个目录中以简化操作)

NCover.Console.exe nunit-console-x86.exe /framework=4.0.30319 Your.Test.Assembly.dll //x coverage.xml //reg

关于.net - 强制NCover 1.5.8使用v4框架(如testdriven.net)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4921443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com