我不知道Unity为什么不注入或者忽略了我在构造函数中有参数的事实。我看到了这个post,但它更多地讨论了NinJect,但让我相信Unity和Vs2012可能存在类似的问题。我知道Unity正在工作,因为在我的Application_Start代码中,在我的统一注册后,我从统一解析了一个接口并找回了所有需要的对象。我不知道为什么我的控制器的带参数的构造函数被忽略了。我也用统一注册控制器。当我尝试击中该控制器时,我收到No parameterless constructor defined for this object.
错误。
我很好奇是否有其他人遇到过同样的问题。
答案 0 :(得分:2)
我必须向Steven提供道具,因为他指引我朝着正确的方向,但基本上,我使用的方法是使用ApiController注册我的解析器,而不是使用SetResolver方法用标准控制器注册它。
答案 1 :(得分:0)
我遇到了同样的问题。我安装了Unity,然后安装了Unity.Mvc4。我卸载了与Unity有关的所有内容,只重新安装了Unity.Mvc4,所有内容都按宣传方式工作。
答案 2 :(得分:0)
对于Unity中的此错误,请转到Global.asax并编写以下代码。 初始化Bootstrapper。
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Bootstrapper.Initialise();
}