2010-05-23 72 views
1

当我在我的测试设置中开启代码覆盖率,在引用团结DI容器我得到以下错误的一个项目:如何获得代码覆盖率在VS 2010项目上工作?

Cannot initialize the ASP.NET project '{Project Name}'.

事件日志指定以下原因:

Could not load file or assembly 'Microsoft.Practices.Unity, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name signature could not be verified.

我如何解决这个问题?

我在Windows 7 X64机器上运行Visual Studio 2010 Ultimate。

+0

[VS2010中MSTest测试运行错误]的可能重复(http://stackoverflow.com/questions/2761587/test-run-errors-with-mstest-in-vs2010) – 2010-05-23 15:33:03

+0

我现在明白了。虽然答案来了这个问题。一种结合答案的方法? – Kimoz 2010-05-23 17:45:40

回答

4

我该如何解决这个问题?

在不知道根本原因的情况下在黑暗中拍摄: 您是否尝试过使用强名称实用程序来跳过对违规组件的验证?

sn -Vr <assembly> 
+0

哇,这是我有同样的问题和 sn -Vr“Microsoft.Practices.Unity,31bf3856ad364e35” sn -Vr“Microsoft.Practices.ServiceLocation,31bf3856ad364e35” sn -Vr“Microsoft.Practices.Unity。配置,31bf3856ad364e35“ 做到了!很酷。 – 2010-05-23 17:10:59

+0

谢谢你的快速回答。这是我的一天;) – Kimoz 2010-05-23 17:43:16

+0

'sn'命令行工具必须从cmd运行,还是可以从VS内运行?我无法运行它。我如何使用它? – 2010-05-23 19:42:25

0

我已经有the exact same problem(虽然与Ninject) - 请参阅我的问题中的第二个错误。

建议的解决方案(我还没有时间去验证)是在签名关闭时重新构建非工作程序集。

这当然假设你有源代码可用。我必须自己创建Ninject以对抗.NET 4(当我开始项目时,没有发布.NET 4的版本),这就是为什么我最终陷入了这种情况。

+1

:)你好,托马斯。看起来sn -Vr可以解决问题,并且没有必要在没有密钥的情况下编译代码。 – 2010-05-23 17:42:25