我将Nuget软件包Ninject.Web.WebApi从3.2.3更新到了3.2.4。在该更新之后,GlobalConfiguration不再包含“配置”功能。这样,Global.asax.cs中的以下代码将不再起作用:
GlobalConfiguration.Configure(WebApiConfig.Register);
我尝试了以下方法:
WebApiConfig.Register(GlobalConfiguration.Configuration);
但这没有用。
有任何想法吗?
编辑:
通过nuget安装更新后,它将从packages.config中删除以下两个条目:
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" />
并在csproj文件中删除对System.Web.Http.WebHost的引用。
将它们添加回去后,项目会编译,但WebApi控制器无法正常工作,因为Ninject不会注入参数。
错误是:
尝试创建“ HomeController”类型的控制器时发生错误。确保控制器具有无参数的公共构造函数。
在最新更新中是否发生了根本变化?
最佳答案
3.2.4引入了一项重大更改,您可以在release notes中进行了解。您现在需要安装一个附加的nuget软件包Ninject.Web.WebApi.WebHost。