Не удалось загрузить файл или сборку 'Ninject' - PullRequest
0 голосов
/ 07 июня 2019

Я установил пакеты Ninject через консоль диспетчера пакетов:

install-package Ninject.Mvc5
install-package Ninject.Web.WebApi

Поскольку я не указал версию, которую он установил, я полагаю, последняя доступная версия ( 3.3.0 ) пакетов и их зависимостей.
Среди прочих зависимостей установлено Ninject 3.3.3 .

Затем я понял, что мне нужна версия 3.2.1.0 , поэтому я удалил Ninject.Mvc5 и Ninject.Web.WebApi версии 3.3.0 со всеми их зависимостями (github показал 0 изменений после процесса удаления) и установил версию 3.2.1.0. Ninject с этой версией 3.2.0 .

Итак, когда я запускаю приложение, я получаю следующую ошибку: " Не удалось загрузить файл или сборку ' Ninject , Версия = 3.3.3.0 , Culture = нейтральный, PublicKeyToken = c7192dc5380945e7' или одна из его зависимостей. Расположение Определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) "

Я проверил определение манифеста сборки с помощью ildasm , и нет никаких ссылок на Ninject 3.3.3. Все ссылки на Ninject 3.2.0. Также в папке .csproj , packages.config и bin . Версия Ninject - 3.2.0.

Я могу решить эту проблему с помощью Web.config:

 <dependentAssembly>
    <assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
    <bindingRedirect oldVersion="3.3.3.0" newVersion="3.2.0.0" />
  </dependentAssembly>

но, очевидно, есть место, где все еще существует ссылка на эту Ninject 3.3.3 версию, которая была удалена. Где это место, кто-нибудь может выяснить?

...