由于缺少程序集,MEF中的反序列化错误

时间:2009-05-15 13:30:35

标签: c# .net reflection assemblies mef

我正在使用MEF。我序列化了一个依赖于其中一个已加载程序集的对象。

现在,当我尝试反序列化此对象时,它会抛出“无法找到程序集”异常。 MEF在另一个类中反序列化之前加载程序集(我假设它的范围是应用程序范围,它将它们加载到公共属性)。

由于MEF已将这些程序集加载到应用程序域,为什么BinaryFormatter.Deserialize()无法找到它们?

我可以使用System.Reflection.Assembly.Load但是那么使用MEF有什么意义呢? MEF对此有特别的支持吗?

1 个答案:

答案 0 :(得分:1)

现在assembly probing完成了这个伎俩,虽然我仍然不确定这是否是最好的做法,因为我仍然在这里绕过了MEF,这是不好的。

我仍在测试,看看是否有副作用或类似的东西。这些明显的缺点是我需要加载两次相同的DLL