Я вижу, когда я устанавливаю свободно nhibernate 1.2 из Nuget, он загружает nhibernate 3.1. Если я хочу использовать nhibernate 3.2, как бы это сделать с помощью nuget и он совместим с текущим nhibernate 1.2?
Какая версия свободного nhibernate совместима с nhibernate 3.2
Ответ 1
В настоящее время пакет FluentNHibernate из официального источника пакета NuGet зависит от NHibernate.Castle 3.1 (в настоящее время еще нет новой версии), что, в свою очередь, зависит от NHibernate 3.1 (точная версия, а не 3.1 или новее). Таким образом, NuGet регистрирует зависимость от NHibernate 3.1 при установке FluentNHibernate.
Итак, нижняя строка: вы не можете, пока пакет FluentNHibernate не обновится.
Самый практичный способ - получить последний исходный код FluentNHibernate и построить его против NHibernate 3.2. Я тестировал это и, похоже, все отлично. Возможно, вы даже сможете использовать переадресацию связывания сборок, но я не тестировал это.
В качестве альтернативы вы можете дождаться перехода NHibernate 3.2 на GA (final) и FluentNHibernate, но, конечно, это не очень удовлетворительный ответ.
Ответ 2
Если вы используете консоль диспетчера пакетов Nuget вместо GUI для получения пакета (Install-Package FluentNHibernate), вы получите версию 1.3.0.717, которая совместима с NHibernate 3.2
Я попробовал и отлично работает для меня.
Ответ 3
Здесь вы можете прочитать о планах по выпуску FluentNHibernate для 3.2GA в ближайшее время и предлагаемому обходному пути с использованием атрибутов
http://groups.google.com/group/fluent-nhibernate/browse_thread/thread/8e782e45ed9ba647
Я получил свою работу, используя
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NHibernate"
publicKeyToken="aa95f207798dfdb4"
culture="neutral" />
<bindingRedirect oldVersion="3.1.0.4000"
newVersion="3.2.0.4000"/>
</dependentAssembly>
</assemblyBinding>