NServiceBus认为它需要一个不需要的文件

NServiceBus认为它需要一个不需要的文件,nservicebus,Nservicebus,几周前,我更改了我的NServiceBus解决方案,将消息直接发送给需要获取消息的收件人(从发布更改) 这部分工作涉及创建新的消息协定程序集。所以在我需要MessageHub.Contracts.dll的地方,我现在需要Communication.InternalMessages.dll 我将配置更改为如下所示: <UnicastBusConfig> <MessageEndpointMappings> <add Messages="Communic

几周前,我更改了我的NServiceBus解决方案,将消息直接发送给需要获取消息的收件人(从发布更改)

这部分工作涉及创建新的消息协定程序集。所以在我需要MessageHub.Contracts.dll的地方,我现在需要Communication.InternalMessages.dll

我将配置更改为如下所示:

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

一切都很好。当NServiceBus触发message received事件时,将使用新的消息类型。这一切的交流都很奇妙

今天,我注意到我的旧MessageHub.Contracts.dll在我的调试文件夹中。所以我把它删掉了。现在,当我运行时,出现以下错误:

内部异常:System.ArgumentException:加载消息程序集时出现问题:
ArupServiceBus.LisMessageHub.Contracts-->
System.IO.FileNotFoundException:无法加载文件或程序集 'LisMessageHub.Contracts'或其依赖项之一。
系统找不到指定的文件

我所尝试的:
我已经在我的整个代码树上做了一个winGrep,而该文件不在任何地方

此外,没有文件中有“LisMessageHub”一词(这意味着没有配置或项目文件引用此程序集)

我已检查MSMQ是否作为发布服务器持久引用此队列


我被难住了。我不知道是什么原因导致NServiceBus认为它需要这个文件。如果你知道,请告诉我…

它可能在你的订阅存储中-你检查过了吗?

Udi,谢谢你回答我的问题。我设置的唯一订阅存储是将
NServiceBus.Integration
放在调试选项中。Th虽然我已经删除了保存订阅数据的MSMQ,但我的一个DLL上仍然有调试选项。一旦我删除了该选项,它又开始工作了。(因为我不再直接运行它,我认为这无关紧要,但似乎确实如此。)再次感谢您的回答!