I get an error
Resource is not found.
When I try to implement Ninject in my MVC-3 application. It seems that the problem comes from Global.asax during CreateKernel()
#region Inversion of Control protected override IKernel CreateKernel() { return Container; } static IKernel _container; public static IKernel Container { get { if (_container == null) { _container = new StandardKernel(new SiteModule()); } return _container; } } internal class SiteModule : NinjectModule { public override void Load() { bool MOCKDB = true; //MOCKDB = false;//Stop Mocking if (MOCKDB) { //Set up mock bindings Bind<iItem>().To<LeadServiceMock>(); } else { //Set up real bindings. Bind<iItem>().To<LeadService>(); } } }
If I select the code above and go back to System.Web.HttpApplication , then everything will start working again.
public class MvcApplication : NinjectHttpApplication
I took this code from a previous implementation that I wrote and still works. If I go through debugging
protected override IKernel CreateKernel() { return Container; }
I get an error in both the working program and this broken one:
Locating source for 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs'. Checksum: MD5 {b8 b2 52 86 ce 34 de 53 61 76 c9 df ff 65 8c 3f} The file 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs' does not exist. Looking in script documents for 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs'... Looking in the projects for 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs'. The file was not found in a project. Looking in directory 'c:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\'... Looking in directory 'c:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\src\mfc\'... Looking in directory 'c:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\src\atl\'... Looking in directory 'c:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\'... The debug source files settings for the active solution indicate that the debugger will not ask the user to find the file: c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs. The debugger could not locate the source file 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs'.
I suspect that I was mistaken in SiteModule . What am I doing wrong?
source share