Нужна помощь с проблемой версии сборки NHibernate.Ошибка при загрузке правильной версии сборки - PullRequest
2 голосов
/ 28 марта 2011

ПРИМЕЧАНИЕ Я закрыл другой билет, который был локализован.

Итак, у меня возникла проблема, как будто я вижу другие плакаты после использования NuGet для установки FluentNhibernate:

ERROR

Could not load file or assembly 'NHibernate, Version=3.0.0.2001, 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)

Я видел, что в ответах на stackOverflow и других блогах ответ был:

Add-BindingRedirect

Однако это не решило мою проблему, и все результаты выполнения этой команды:

PM> Add-BindingRedirect

Name                                     OldVersion                                                      NewVersion                                                     
----                                     ----------                                                      ----------                                                     
NHibernate                               0.0.0.0-3.0.0.4000                                              3.0.0.4000  

Когда я устанавливаю Fluent Nhibernate из NuGet, он говорит, что его зависимости - Nhibernate 3.0.0.2001, но устанавливает Nhibernate 3.0.0.4000

Что я делаю не так?

Ответы [ 2 ]

5 голосов
/ 28 марта 2011

Я не могу комментировать конкретную проблему с NuGet, но вы сможете обойти эту ошибку, добавив перенаправление привязки сборки в ваш app.config или web.config.

Возможно, вы захотитедля проверки правильности открытого ключа ключа.

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Nhibernate" publicKeyToken="aa95f207798dfdb4"/>
        <bindingRedirect oldVersion="3.0.0.2001" newVersion="3.0.0.4000"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Это должно перенаправить все запросы на 2001 год на 4000

4 голосов
/ 07 апреля 2012

Я не знаю, сколько у вас веб-проектов и какова ваша начальная настройка проекта, является базовой, но у меня была та же проблема с моим методом тестирования, и я обнаружил, что мой app.config моего тестового проекта не Переадресация обязательна.

В моем случае команда Add-BindingRedirect генерирует что-то вроде этого

 <dependentAssembly>
        <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.0.0.4000" newVersion="3.0.0.4000" />
      </dependentAssembly>

Это решило мою проблему, надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...