我使用的是“自定义”对象生成器(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
这是真的,该ComponentNotRegisteredException
没有标记序列化-便携式类库不支持SerializableAttribute
和Autofac 3.0+是PCL。
我猜你正在运行到更大的问题不是SerializationException
这么多的问题导致它-这东西在你的自定义代码没有被注册,所以当某些类型得到解决,不能建成因此,Autofac抛出ComponentNotRegisteredException
和NServiceBus试图序列化。
而不是试图解决这个问题,系列化,我开始看的源ComponentNotRegisteredException
并专注于这一点。
诊断这些类型的问题,最简单的方法是打开突破在Visual Studio中所有的异常,看看它从围油栏第一次。
9/10与初始化代码有问题。
我遇到了一个类似的错误,同时加入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”未标记为可序列。