Проект MVC жалуется, что не может найти Nhibernate.dll версии 2.1.0.4000 - PullRequest
3 голосов
/ 29 ноября 2010

В моем проекте MVC я пытаюсь использовать последнюю версию Fluent Nhibernate и NHibernate.linq.Я использую Nhibernate.dll, поставляемый с последней выпущенной сборкой Fluent Nhibernate.Тем не менее, я только смог найти NHibernate.linq 1.0.

При попытке запустить я получаю сообщение об ошибке:

Could not load file or assembly 'NHibernate, Version=2.1.0.4000, Culture=neutral,
PublicKeyToken=aa95f207798dfdb4' or one of its dependencies. The located assembly's    
manifest definition does not match the assembly reference. (Exception from HRESULT:
0x80131040)

Я вижу в SourceForge в проекте NHibernate, у них естьВерсия NHibernate.Linq 2.1.2 в рамках проекта NHibernate 2.1.2, но если вы скачаете этот zip-файл, он будет пустым.

Я думаю, что Linq ссылается на более старый файл NHibernate.dll, но как я могу получить версию NHibernate.linq.dll 2.1.2?

Есть еще один вопрос с этой же ошибкой, и я попробовал все их предложения, убедившись, что включены все остальные файлы NHibernate.dll.Я не перестраивал проект NHibernate.linq с тем же NHibernate.dll, который использует Fluent, поскольку я надеялся получить более новую версию NHibernate.linq.

Ответы [ 3 ]

2 голосов
/ 29 ноября 2010

Вы можете получить сборку NHibernate.Linq, совместимую с NH2.1.2, отсюда:

http://sourceforge.net/projects/nhibernate/files/NHibernate/2.1.2GA/NHibernate.Linq-2.1.2-GA-Bin.zip/download

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

Как писал Джеймс, вы должны скачать zip-файл 2.1.2 и распаковать его с помощью 7-zip. Номер версии должен быть 1.1.0.1001.

Однако ... NHibernate 3.0 скоро будет выпущен. Он содержит встроенного поставщика Linq, который является гораздо более полным, мощным и расширяемым.

Я бы не использовал старый провайдер (который не полностью совместим с новым) в новом проекте.

0 голосов
/ 30 ноября 2010

Попробуйте добавить следующий XML в файл Web / App.config внутри корневого тега <configuration>.

   <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="NHibernate" publicKeyToken="AA95F207798DFDB4" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.1.1.4000" newVersion="2.1.2.4000" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...