Я установил пакеты 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 версию, которая была удалена. Где это место, кто-нибудь может выяснить?