几个星期前,我改变了我的NServiceBus解决方案,直接将消息发送给我需要获取消息的收件人(从发布更改)。
这部分涉及创建新的邮件合同程序集。所以在我需要MessageHub.Contracts.dll的地方,我现在需要Communication.InternalMessages.dll。
我将配置更改为:
<UnicastBusConfig>
<MessageEndpointMappings>
<add Messages="Communication.InternalMessages"
Endpoint="Communication" />
</MessageEndpointMappings>
</UnicastBusConfig>
一切都很好。当NServiceBus触发消息接收事件时,将使用新消息类型。这一切都是奇妙的沟通。
今天,我注意到我的旧MessageHub.Contracts.dll在我的调试文件夹中。所以我删除了它。现在,当我跑步时,我收到了这个错误:
内部异常:System.ArgumentException:加载消息程序集时出现问题:
ArupServiceBus.LisMessageHub.Contracts ---&gt;
System.IO.FileNotFoundException:无法加载文件或程序集
'LisMessageHub.Contracts'或其中一个依赖项 系统找不到指定的文件。
我尝试了什么:
我在我的整个代码树上做了一个winGrep,那个文件不在任何地方。
此外,没有文件中包含“LisMessageHub”字样(意味着没有配置或项目文件引用此程序集。
我已经检查过MSMQ是否具有对此队列的持久引用作为发布者。
我很难过。我不知道是什么导致NServiceBus认为它需要这个文件。如果你知道,请告诉我......
答案 0 :(得分:2)
它可能在您的订阅存储中 - 您在那里查看了吗?