0
votes

My original project is an MVC4 / Web Api:

<package id="Microsoft.AspNet.Mvc" version="4.0.30506.0" targetFramework="net45" /> 
<package id="Microsoft.AspNet.WebApi" version="4.0.30506.0" targetFramework="net45" />
<package id="Ninject" version="3.2.0.0" targetFramework="net45" /> 
<package id="Ninject.MVC3" version="3.2.0.0" targetFramework="net45" />
<package id="Ninject.Web.Common" version="3.2.0.0" targetFramework="net45" />
<package id="Ninject.Web.Common.WebHost" version="3.2.0.0" targetFramework="net45" />
<package id="WebApiContrib.IoC.Ninject" version="0.9.3.0" targetFramework="net45" />

My new project is now an MVC5 / Web Api 2.2:

<package id="Microsoft.AspNet.Mvc" version="5.2.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.2.2" targetFramework="net45" />
<package id="Ninject" version="3.2.2.0" targetFramework="net45" />
<package id="Ninject.MVC3" version="3.2.1.0" targetFramework="net45" />
<package id="Ninject.Web.Common" version="3.2.3.0" targetFramework="net45" />
<package id="Ninject.Web.Common.WebHost" version="3.2.3.0" targetFramework="net45" />

Moving from Web Api to Web Api 2.2, I used NuGet to uninstall the package WebApiContrib.Ioc.Ninject and Install Ninject Integration for WebApi 2.

This updated the file NinjectWebCommon.cs. I then added back in the bindings but when I added back the RegisterServices code (under the CreateKernel() method) NinjectResolver no longer works!

GlobalConfiguration.Configuration.DependencyResolver = new NinjectResolver(kernel);
1

1 Answers

1
votes

I could not find any documentation online for this but after a little hacking resolved the issue by using the code below. Hope this documentation is helpful.

GlobalConfiguration.Configuration.DependencyResolver =
                new Ninject.Web.WebApi.NinjectDependencyResolver(kernel);