NinjectHttpApplication не работает после портирования на web api 2

Я портировал приложение Web Api на Web Api 2 и установил ninject web api pacckage. Но теперь я получаю сообщение об ошибке:

Error activating ModelValidatorProvider using binding from ModelValidatorProvider to NinjectDefaultModelValidatorProvider

A cyclical dependency was detected between the constructors of two services.

Ответ 1

У меня была такая же проблема. Я получил его, когда добавил Ninject.Web.WebApi в качестве пакета Nuget.

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

В предыдущем обходном пути я установил средство определения зависимостей в NinjectWebCommon на пользовательский класс, который реализовал IDependencyResolver.

Короче говоря, если у вас есть строка, похожая на GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(kernel); в NinjectWebCommon CreateKernel(), удалите ее.

Ответ 2

Не удалось заставить его работать. В качестве обходного решения только что удалили пакет Ninject.Web.WebApi полностью и теперь с помощью ручного анализатора зависимостей api для apin для ninject. Честно говоря, это так просто, что я действительно не вижу причины использовать этот пакет nuget для интеграции с ninject.