3

我在将 Windows Phone 7.5 类库加载到 WP 单元测试框架中时遇到了一些严重的问题。它在我的程序集内部调用 GetExportedTypes(),它抛出了一个不包含任何细节的 ReflectionTypeLoadException。它的消息是“ReflectionTypeLoadException”,并且它的 LoaderExceptions 为空(“无法评估表达式”)。该程序集未使用任何第 3 方程序集。如果我创建一个单独的 WP7 应用程序并做同样的事情,我会得到相同的结果。我是一位经验丰富的 Reflection 用户,但是由于没有任何详细的错误,我的研究完全停止了。为了完整起见,它是 Fluent Assertions 的 Windows Phone 版本。

4

2 回答 2

1

异常上的Types数组呢?它包含值吗?如果是,它是否也包含nulls?如果是这样,您可以找出哪些类加载失败:您知道程序集中的所有类,并且您知道哪些类加载正确。缺少的是无法加载的类。也许这个信息提供了一些线索。

这个答案基于文档,尤其是这些位:

来自LoaderExceptions物业的备注:

LoaderExceptions 属性检索与 Types 数组并行的 Exception 类型数组。每当反射无法加载类时,此数组将包含空值。

并从Types财产的文件中:

一个 Type 类型的数组,其中包含在模块中定义并加载的类。该数组可以包含一些空值。

于 2012-08-22T07:11:01.210 回答
1

我找到了!@GeertvanHorrik指给我看他最近写的一篇博文。我正在使用运行时(!)不支持的协变接口(使用out参数)。为什么编译器不保护我免受这对我来说是一个很大的谜团(也是一个巨大的失望)

于 2012-08-25T06:35:23.320 回答