use*_*484 12 .net unit-testing mstest visual-studio-2010
我有一个.NET 4 DLL,我在生成单元测试时遇到问题.我正在使用VS 2010 Standard.解决方案中的每个其他项目都会为类生成单元测试存根.对于其他程序集,我可以进入现有代码,右键单击类名,然后选择"创建单元测试".我得到的选择窗口就好了.
我真正需要覆盖的一个程序集不会使用上面提到的相同方法生成测试存根.我去项目/汇编中的一个类,右键单击,选择"生成单元测试",我遇到以下错误:
单元测试生成错误:在读取模块'xx.Core'时遇到以下错误:无法解析类型引用:[System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = xxxxxxxxxxxx] System.Web.Routing. RouteValueDictionary
据我所知,项目中没有直接引用错误消息中提到的System.Web的框架2.0版本.使用名为grepWIN的工具搜索包含项目和.CS文件的目录,以查看该引用的文本是否存在于任何文件中,结果为零.甚至可以同时引用system.web dll的2.0和4.0版本,如果是这样,你为什么要这样做呢?
关于如何摆脱这个错误消息的任何想法,以便我可以正确地删除一些单元测试?
您使用 NUNIT 进行单元测试吗?如果是这样,默认情况下 Nunit 指向 .Net 2.0。您需要对 nunit.exe.config 文件进行适当的更改。
请在 Windows 资源管理器中导航至 C:\WINDOWS\Microsoft.NET\Framework。在那里您将看到许多具有此类名称的文件夹:v1.0.xxxxx、v1.1.xxxxx、...、v4.0.xxxxx。记下 v4.0.xxxxx 文件夹的确切名称。
使用文本编辑器打开文件 nunit.exe.config,该文件位于以下文件夹中:C:\Program Files\NUnit 2.5.2\bin\net-2.0。
在下面添加:
<startup> <requiredRuntime version="v4.0.xxxxx" /> </startup>
Run Code Online (Sandbox Code Playgroud)
[用您写下的正确数字替换 xxxxx ]
并在下面添加:
<loadFromRemoteSources enabled="true" />
Run Code Online (Sandbox Code Playgroud)
上述改变对我有用。希望对于其他面临这个问题的人来说。
| 归档时间: |
|
| 查看次数: |
1615 次 |
| 最近记录: |