У нас есть использование проекта FluentNibernate для отображения объектов. Теперь я должен добавить некоторую проверку формата к этим картам. Для Nullable Длины и такого мы в настоящее время используем отображения. Я добавил Блок проверки допустимости NHibernate к проекту, но получил ошибку времени компиляции о необходимости в версии 2.1.2.4000 NHibernate. Таким образом, я обновил до той версии только для получения ошибки времени выполнения, заявив, что она не могла найти NHibernate 2.1.0.4000. Я мог записать дополнительные методы, чтобы сделать использование проверки FluentNibernate? Я должен перекомпилировать оба использования той же версии NHibernate? Предпочтительный метод состоял бы в том, чтобы использовать выпуск их. Любое другое устройство было бы ценивший.
1) Перекомпиляция является опцией, это позволит вам использовать оба из них без проблем со сборкой.
2) Другим вариантом будет перенаправление привязки сборки, любые вызовы к более ранней версии NHibernate вы можете принудительно перейти на ту версию, которая у вас есть. Вы можете сделать это с помощью вашего app.conifg / web.conifg
(вы можете найти больше об этом здесь)
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4"/>
<bindingRedirect oldVersion="2.1.0.4000" newVersion="2.1.2.4000"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Не то чтобы это решило вашу проблему, но вы не рассматривали FluentValidation. Тем не менее, похоже, что у вас где-то есть ссылка, которая запрашивает определенную версию DLL.
Последние версии, NHibernate.Validator 1.2.0 CR1 и FluentNHibernate 1.0.0.632, оба построены против NHibernate 2.1.2.4000.
Чтобы получить последнюю версию FluentNHibernate, перейдите на сервер сборки на CodeBetter.com .
Чтобы получить последнюю версию NHibernate.Validator, перейдите на nhibernate.info .