在MVC4.5.1中使用Ninject

看完Pro ASP.NET MVC5的前14章之后,终于开始了自己的项目搭建。

打算在实际项目中使用Ninject 但是总是出现各种问题。这里记录一下

在书中使用的Ninject的版本是:

Install-Package Ninject -version 3.0.1.10
Install-Package Ninject.Web.Common -version 3.0.0.7
Install-Package Ninject.MVC3 -Version 3.0.0.6

但是我在自己的项目中打算使用最新版的库

在安装包的时候省略了version参数

导致在安装Ninject.MVC3时出现这个错误

后来各种卸载包重新安装和书上一样版本的包,但是还是出现问题,最后发现只要安装Ninject.MVC5 这个包不安装3 就不会出现这个问题,但是随之而来的问题是在APP_Start文件夹下却没有NinjectWebCommon.cs这个类。书中的版本是在这个类中进行注册的。

最后找到了解决方案,直接在Global.asax中进行注册在Application_Start()方法中加入这个

System.Web.Mvc.DependencyResolver.SetResolver(new demoproj.WebUI.Infrastructure.NinjectDependencyResolver(new StandardKernel()));

即可完成注册,项目可以正常运转。

原文地址:https://www.cnblogs.com/c-supreme/p/8761189.html