2012-03-16 4 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

Смежные вопросы