我們使用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