2012-03-16 64 views
0

幾個星期前,我改變了我的NServiceBus解決方案直接發送消息給收件人,我需要獲取消息(從發佈更改)。NServiceBus認爲它需要一個它不應該需要的文件

那部分涉及到創建新的消息合約程序集。所以我需要MessageHub.Contracts.dll,現在我需要Communication.InternalMessages.dll。

我改變了我的配置看起來像這樣:

<UnicastBusConfig> 
    <MessageEndpointMappings> 
     <add Messages="Communication.InternalMessages" 
      Endpoint="Communication" /> 
    </MessageEndpointMappings> 
</UnicastBusConfig> 

這一切的偉大工程。當NServiceBus觸發收到消息的事件時使用新的消息類型。這一切都非常傳達。

今天,我注意到我的舊MessageHub.Contracts.dll在我的調試文件夾中。所以我刪除了它。現在,當我跑我得到這個錯誤:

Inner Exception: System.ArgumentException: Problem loading message assembly:
ArupServiceBus.LisMessageHub.Contracts --->
System.IO.FileNotFoundException: Could not load file or assembly
'LisMessageHub.Contracts' or one of its dependencies.
The system cannot find the file specified.

我曾嘗試:
我已經做了winGrep在我的整個代碼樹,該文件是不是有沒有什麼地方。

此外,沒有文件有詞「LisMessageHub」它(這意味着沒有配置或項目文件引用該組件。

我檢查,看是否有MSMQ有一個永久引用此隊列爲。出版商

我難倒我不知道是什麼原因造成NServiceBus認爲它需要這個文件如果你知道,請告訴我...

回答

2

這可能是在您的訂閱存儲 - 你檢查那裏?

+0

Udi,謝謝你回答我的問題灰。我設置的唯一訂閱存儲是將'NServiceBus.Integration'放在調試選項中。儘管我已經刪除了擁有訂閱數據的MSMQ,但我仍然有一個Dll的調試選項。一旦我刪除它,它又開始工作。 (由於我不是直接運行它,我不認爲這很重要,但它似乎確實如此。)再次感謝您的答案! – Vaccano 2012-03-16 19:51:07

相關問題