我们使用nettiers作为我们的数据层的时候,我们最近已经开始考虑使用NServiceBus,但我们碰了壁抛出异常。NserviceBus引用Nettiers装配
我们有哪些主机NSB和引用我们的Nettiers组件的Windows服务。
当遇到以下行时,该服务将引发异常。
var Bus = Configure.With().SpringBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(false)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.CreateBus()
.Start();
即抛出的异常是:
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
装载机异常消息是:
Could not load file or assembly 'Microsoft.Practices.Unity, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.":"Microsoft.Practices.Unity, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
堆栈跟踪是:
at System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark)
at System.Reflection.Assembly.GetTypes()
at NServiceBus.Configure.<>c__DisplayClass1.<With>b__0(Assembly a) in d:\BuildAgent-03\work\672d81652eaca4e1\src\config\NServiceBus.Config\Configure.cs:line 122
at System.Array.ForEach[T](T[] array, Action`1 action)
at NServiceBus.Configure.With(Assembly[] assemblies) in d:\BuildAgent-03\work\672d81652eaca4e1\src\config\NServiceBus.Config\Configure.cs:line 122
at NServiceBus.Configure.With(IEnumerable`1 assemblies) in d:\BuildAgent-03\work\672d81652eaca4e1\src\config\NServiceBus.Config\Configure.cs:line 111
at NServiceBus.Configure.With(String probeDirectory) in d:\BuildAgent-03\work\672d81652eaca4e1\src\config\NServiceBus.Config\Configure.cs:line 101
at NServiceBus.Configure.With() in d:\BuildAgent-03\work\672d81652eaca4e1\src\config\NServiceBus.Config\Configure.cs:line 78
at MessageSender.Program.Main(String[] args) in C:\Development\NSBTest4\MessageSender\Program.cs:line 18
没有nettiers参考NSB作品精细。任何想法是什么问题以及如何解决它?
谢谢。
感谢您的建议,但不幸的是它没有任何区别。 nettiers程序集在DataLayer.dll 中引用,并由我的NSB项目引用。因此我添加了With(AllAssemblies.Except(“DataLayer.dll”)) 但没有任何影响。 – IGoor 2010-04-06 08:51:14
你可以确保你的datalayer.dll和nettiers dll被排除在外:AllAssemlies.Except(“datalayer.dll”)和(“nettiers.dll”)? – 2010-04-07 14:09:44
是的。我们尝试过,没有任何运气。 (typeof(IMessage).Assembly,typeof(MessageItem.MessageItem).Assembly,typeof(NServiceBus.Unicast.Transport.CompletionMessage).Assembly,typeof() MessageReceiver.MessageHandler).Assembly) – IGoor 2010-04-23 16:34:04