Не удается проверить обработчики сообщений NServicebus с помощью сообщений, которые реализуют обобщенные - PullRequest
1 голос
/ 02 ноября 2010

Я использую:

  • nservicebus 2.0.0.0
  • nservicebus.Testing 2.0.0.0
  • VS2010
  • nUnit
  • .NET 4.0
  • c #

Я использую пространство имен nservicebus.Testing, которое nservicebus предоставляет для тестирования обработчиков IMessage.

Мои тесты выдают эту ошибкупри вызове обработчика IMessage:

System.InvalidOperationException: Операции с поздней привязкой не могут быть выполнены для типов или методов, для которых ContainsGenericParameters имеет значение true.

Эта ошибка исчезает,тесты запускаются нормально, если я удаляю ссылку в тестовом проекте на сборку, содержащую сообщения IMessages, которые реализуют обобщенные элементы.

ПРИМЕЧАНИЕ , что проверяемый мной обработчик не обрабатывает обобщенные сообщения,просто наличие сообщения generics в папке bin вызывает ошибку.

Однако я хотел бы иметь возможность проверить обработчики сообщений IMessages, которые реализуют generics, возможно ли это?

ура

1 Ответ

1 голос
/ 05 ноября 2010

Проблема в том, что библиотека тестирования NServiceBus использует ту же логику сканирования типа сборки, что и NServiceBus в целом. Чтобы предотвратить сканирование проблемной сборки, вызовите Test.Initialize (params Assembly [] сборки);

Несмотря на это, не рекомендуется иметь сообщения, в которых используются дженерики.

...