Ninject - 资源无法找到 [英] Ninject - The resource cannot be found
本文介绍了Ninject - 资源无法找到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我得到错误
资源无法找到。
当我尝试在我MVC-3应用程序中实现Ninject。这个问题似乎在 CreateKernel是从未来的Global.asax()
When I try to implement Ninject in my MVC-3 application. The problem appears to be coming 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>();
}
}
}
#endregion
如果我把code以上并恢复到 System.Web.HttpApplication
然后事情开始重新工作。
If I take the code above out and revert back to System.Web.HttpApplication
then things start to work again.
public class MvcApplication : NinjectHttpApplication//:System.Web.HttpApplication
{
我把这个code从我写的也还是工作的previous实施。如果我通过调试步骤
I took this code from a previous implementation that I wrote that also still works. If I step through debug
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'.
我怀疑我做了错误的成才在 SiteModule
。我在做什么错了?
推荐答案
替换的Application_Start()
与 OnApplicationStarted()
//protected void Application_Start()
//{
// AreaRegistration.RegisterAllAreas();
// RegisterGlobalFilters(GlobalFilters.Filters);
// RegisterRoutes(RouteTable.Routes);
//}
protected override void OnApplicationStarted()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
这篇关于Ninject - 资源无法找到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文