【发布时间】:2011-11-08 20:16:41
【问题描述】:
我遇到了一个非常奇怪的问题:
我在 WP7 项目中使用 NUnit 框架进行测试。目前我正在尝试使用 Silverlight 单元测试框架在设备上运行测试(使用 NUnitTestProvider)。
除了使用System.Action 的测试外,一切正常。在这些测试中,我得到一个运行时错误:
无法从程序集“mscorlib”加载类型“System.Action”, 版本=3.7.0.0
例如这不起作用(非泛型 System.Action)
public void MethodThatAcceptsRawAction(System.Action callback);
...
MethodThatAcceptsRawAction( () => Console.WriteLine("Hi"));
但这会起作用
public void MethodThatAcceptsOneArgAction(System.Action<object> exCallback);
...
MethodThatAcceptsOneArgAction( (ex) => Console.WriteLine(ex.ToString()));
我检查了内存中 mscorlib.dll 中的公共类型,它没有 System.Action,但有 System.Action'1 类型。看起来 System.Core.dll 有 System.Action。
Microsoft 决定在两个库之间拆分 System.Action 变体,但运行时绑定器不知道在哪里查找类型。
也许有人遇到过同样的问题,或者至少知道要看什么?
提前致谢
【问题讨论】:
-
不,我有一个运行时错误,链接是关于编译器时间的。但感谢这个链接。挺有意思的!
-
是的,确实如此!好吧,那就等其他方面的启示吧。
标签: c# windows-phone-7 nunit