NServiceBus IOC系列化例外(NServiceBus IoC Serialization

2019-10-18 13:32发布

我使用的是“自定义”对象生成器(Autofac),这样我就可以重新使用许多类型,我在一个共同的组件都做登记。 当我运行服务,内NServiceBus.Host.exe主持,我得到以下错误:

SerializationException是未处理的:

在组件类型“Autofac.Core.Registration.ComponentNotRegisteredException”“Autofac,版本= 3.0.0.0,文化=中性公钥= 17863af14b0044da”未标记为可序列。

这似乎很奇怪我,因为NServiceBus使用Autofac在默认情况下,不会有同样的问题。

我使用Autofac v 3.1.1和4.0.3 NServiceBus

Answer 1:

这是真的,该ComponentNotRegisteredException没有标记序列化-便携式类库不支持SerializableAttribute和Autofac 3.0+是PCL。

我猜你正在运行到更大的问题不是SerializationException这么多的问题导致它-这东西在你的自定义代码没有被注册,所以当某些类型得到解决,不能建成因此,Autofac抛出ComponentNotRegisteredException和NServiceBus试图序列化。

而不是试图解决这个问题,系列化,我开始看的源ComponentNotRegisteredException并专注于这一点。



Answer 2:

诊断这些类型的问题,最简单的方法是打开突破在Visual Studio中所有的异常,看看它从围油栏第一次。
9/10与初始化代码有问题。



Answer 3:

我遇到了一个类似的错误,同时加入NServiceBus.Distributor.Msmq(4.4.2)使用NServiceBus 4.4.2旧的溶液。 原来我忘了成立NSB许可证的新项目。 试图启动经销商扔,直到我包括在构建输出的有效License.xml文件:

未处理的异常:System.Runtime.Serialization.SerializationException:在组件类型“Autofac.Core.DependencyResolutionException”“NServiceBus.Core,版本= 4.4.0.0,文化=中性公钥= 9fc386479f8a226c”未标记为可序列。



文章来源: NServiceBus IoC Serialization Exception