Добавить ссылку, указывающую на другую версию, чем GAC - PullRequest
2 голосов
/ 06 февраля 2012

На одном из моих веб-сайтов я добавил ссылку на IBM.DATA.DB2.dll (которая находится в GAC, версия 9.0.0.2), как показано в тексте ниже из файла web.config: -

Но когда я собираю свой проект, он пытается указать ему другую версию библиотеки DLL, как показано ниже в сообщении об ошибке: -

"Не удалось загрузить файл или сборку"IBM.Data.DB2, версия = 9.7.4.4, Culture = нейтральный, PublicKeyToken = 7c307b91aa13d208 'или одна из его зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) "

Я зарегистрировался в GAC (C: // Windows / Assemblies) и не вижу там ссылки на версию 9.7.4.4.Я был бы признателен за любую помощь, которую я могу получить в этом.

Спасибо, Абхи.

Ответы [ 2 ]

3 голосов
/ 06 февраля 2012

Мне удалось решить мою проблему с помощью fuslogvw.exe. Из журнала я узнал, что в файле machine.config по пути «C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config» была перенаправлена ​​версия, которая перенаправляла ссылку с 9.0.0.2 на 9.7. 4.4.

<dependentAssembly>
<assemblyIdentity name="IBM.Data.DB2" publicKeyToken="7c307b91aa13d208" culture="" />
<bindingRedirect oldVersion="8.0.0.0-9.0.0.4" newVersion="9.7.7.4" />
</dependentAssembly>

Изменение 9.7.4.4 на 9.0.0.2 решило проблему.

Спасибо, Аби.

0 голосов
/ 06 февраля 2012

У вас есть свойство "конкретная версия", установленное на true? Это должна быть эта версия? Если вы можете сделать ссылку на любую версию, установите для этого свойства значение false. Это позволит вашему проекту ссылаться на любую версию сборки.

Это также может быть зависимость от одной из ваших других зависимостей, которая используется в этой конкретной версии.

Если вам нужна более старая версия, а новая ссылка загружается по какой-то другой ссылке, то у вас другая проблема. Эту проблему можно решить только путем обновления приложения или поиска версии сборки 3 rd , которая также ссылается на старую версию.

Дважды проверьте, установлена ​​ли у вас последняя версия (это не похоже на версию 9.0.0.2, а Visual Studio ищет версию 9.7.4.4). Загрузите и установите эту версию.

...