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

时间:2012-03-16 19:00:51

标签: nservicebus

几个星期前,我改变了我的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认为它需要这个文件。如果你知道,请告诉我......

1 个答案:

答案 0 :(得分:2)

它可能在您的订阅存储中 - 您在那里查看了吗?