我有一个MVC项目,我使用IHttpControllerActivator在我的WebAPI控制器中做了很长时间的DI。
configuration.Services.Replace(
typeof(IHttpControllerActivator),
new UnityCompositionRoot(Container));
现在我需要在MVC控制器中使用DI,所以尝试在Unity.MVC项目中添加这一行。
DependencyResolver.SetResolver(new UnityDependencyResolver(Container));
但是在尝试使用以下堆栈跟踪设置解析器时,我得到了一个EntryPointNotFound异常。
at System.Web.Mvc.DependencyResolver.CacheDependencyResolver..ctor(IDependencyResolver resolver)
at System.Web.Mvc.DependencyResolver.InnerSetResolver(IDependencyResolver resolver)
at System.Web.Mvc.DependencyResolver.SetResolver(IDependencyResolver resolver)
at GRP2App.Web.App_Start.DependencyConfig.RegisterDependencys(HttpConfiguration configuration) in c:\Dev\SVN-Git\GRP2.5\GRP2App\GRP2App.Web\App_Start\DependencyConfig.cs:line 96
我已经更新了所有的Unity nu-get软件包,因此所有不同的项目都应该在同一个版本上。我不确定还有什么可以尝试的。
答案 0 :(得分:0)
我似乎记得这是从MVC 4升级到MVC 5的问题。
我使用NuGet进行了升级,但是web.config文件的程序集重定向和剃刀引擎部分中有多个版本号需要更新。
本文包含版本号需要升级的所有不同位置的完整说明。
这对我来说很重要。
更新包含“System.Web.WebPages.Razor”的所有元素 版本“2.0.0.0”到版本“3.0.0.0”。如果此部分包含 “System.Web.WebPages”,从版本“2.0.0.0”更新这些元素 版本“3.0.0.0”