Почему мой проект все еще ищет Inject версии 3.0.0.0

1

В NinjectWebCommon.cs меня есть следующее:

private static IKernel CreateKernel()
{
    var kernel = new StandardKernel();
    try
    {
        kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
        kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();

        RegisterServices(kernel);
        return kernel;
    }
    catch
    {
        kernel.Dispose();
        throw;
    }
}

Когда я запускаю приложение ASP.NET MVC, он вылетает по этому методу, говоря:

An exception of type 'System.IO.FileLoadException' occurred in Ninject.dll but was not handled in user code

Additional information: Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Я удалил свои DLL файлы Ninject из ссылок и добавил их снова из диспетчера NuGet, и теперь мой файл пакетов выглядит так, но все еще получает эту ошибку:

  <package id="Ninject" version="3.2.2.0" targetFramework="net451" />
  <package id="Ninject.MVC3" version="3.2.1.0" targetFramework="net451" />
  <package id="Ninject.Web.Common" version="3.2.3.0" targetFramework="net451" />
  <package id="Ninject.Web.Common.WebHost" version="3.2.3.0" targetFramework="net451" />

Что еще мне делать?

  • 0
    Вы пробовали поиск в своем проекте для всего проекта в FindAll на следующем System.Web.Mvc, Version=3.0.0.0 вас есть ожидаемый код в папке выпуска или в папке отладки? или наоборот
  • 0
    да я выполнил поиск по всему файлу ... не нашел 3.0.0.0
Показать ещё 3 комментария
Теги:
ninject

3 ответа

0

У меня также была эта проблема, и оказалось, что когда я выполнял чистку или перестройку в Visual Studio, он фактически не очищал все содержимое каталога bin, оставляя после себя некоторые сборки. Поскольку сборка не заменяла эти старые сборки, во время выполнения возникали ошибки несоответствующей версии. Решением для меня было перейти в эту папку и вручную удалить все файлы в папке bin. После удаления и перестройки решения вручную мои ошибки времени выполнения исчезли.

0

Обновите сборки asp.net MVC из пакетов управления NuGet для решения в диспетчере пакетов библиотеки.

У меня была такая же проблема, и это решило. Вероятно, это связано с конфликтом между версией MVC и версией сборок Ninject.

0

Если вы хотите легко определить, какой проект использует какую версию, нужно перейти в каталог пакетов и найти каталог Ninject- [версия] и удалить, переименовать или переместить его в другое место. Когда вы вернетесь в визуальную студию, вы увидите, какой проект сейчас жалуется на отсутствие этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню