在没有NServceBus.Host.exe的情况下托管NServiceBus时出现ComponentActivatorException

时间:2010-08-24 08:59:26

标签: nservicebus

我想在我自己的进程中托管NServiceBus。

配置NServiceBus时我得到一个空引用异常,我改变了一些似乎解决了这个问题的配置调用的顺序。我现在面临另一个错误。这是我的配置代码:

Configure.With()
                .CastleWindsorBuilder(Container.Instance)
                .XmlSerializer()
                .MsmqSubscriptionStorage()
                .MsmqTransport()
                .UnicastBus()
                .LoadMessageHandlers()
                .CreateBus()
                .Start();

这是堆栈跟踪:

异常

  

Castle.MicroKernel.ComponentActivator.ComponentActivatorException

     

在类型NServiceBus.Serializers.XML.MessageSerializer上设置属性set_MessageTypes时出错,组件ID为NServiceBus.Serializers.XML.MessageSerializer。有关详细信息,请参阅内部异常。

内部异常详情:

  

System.BadImageFormatException

     

“试图加载程序   格式不正确。 (例外   来自HRESULT:0x8007000B)“

   at System.Reflection.Emit.TypeBuilder._TermCreateClass(Int32 handle, Module module)
   at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
   at System.Reflection.Emit.TypeBuilder.CreateType()
   at NServiceBus.MessageInterfaces.MessageMapper.Reflection.MessageMapper.CreateTypeFrom(Type t, ModuleBuilder moduleBuilder)
   at NServiceBus.MessageInterfaces.MessageMapper.Reflection.MessageMapper.InitType(Type t, ModuleBuilder moduleBuilder)
   at NServiceBus.MessageInterfaces.MessageMapper.Reflection.MessageMapper.Initialize(IEnumerable`1 types)
   at NServiceBus.Serializers.XML.MessageSerializer.set_MessageTypes(List`1 value)

1 个答案:

答案 0 :(得分:0)

可能是在部署到您的运行时目录的其中一个程序集中,您有一些消息类型引用了某些其他类型,这些类型在错误的平台上编译时无法加载。