Я использую 1.0 RTM Быстрого Nhibernate с 3,0 сборками NHibernate. Чтобы сделать это, я должен добавить следующее к своему .config файлу:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NHibernate" culture="neutral" publicKeyToken="aa95f207798dfdb4"/>
<bindingRedirect oldVersion="2.1.0.4000" newVersion="3.0.0.1001"/>
</dependentAssembly>
</assemblyBinding>
Это работает отлично при выполнении интеграционных тестов с плагином TestDriven.net, но перестало работать в NUnit gui или консольном бегуне со следующей ошибкой:
Система. IO.FileLoadException: не Мог загрузить файл или блок 'NHibernate, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' или одна из его зависимостей. Явное определение расположенного блока не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Как я заставляю NUnit уважать мой bindingRedirect и выполнять мои интеграционные тесты успешно?
Ключ помещает его в правильный файл .config. См. Работает ли перенаправление привязки сборки для модульного тестирования с помощью средства выполнения тестов? .
Другой подход - это компиляция fluent-nhibernate против NHibernate 3.0. Если у него есть ошибки компиляции, спросите команду разработчиков и / или разветвите исходный код и скомпилируйте его.