我已经从VS模板创建了一个ASP.NET Core Web API应用程序(我使用最新的ASP.NET Core RC2更新了VS)。但是,在尝试设置我的应用程序以使用SimpleInjector作为IoC容器时,我遇到了问题。
我使用的是here提供的说明。当我镜像在该链接上找到的指令时,我在ConfigureServices方法中收到错误,指出IServiceCollection没有AddInstance的定义。它还说无法找到IControllerActivator。
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddInstance<IControllerActivator>(
new SimpleInjectorControllerActivator(container));
services.AddInstance<IViewComponentInvokerFactory>(
new SimpleInjectorViewComponentInvokerFactory(container));
}
我意识到可能存在问题,因为我正在使用ASP.NET的最新RC2版本(而SimpleInjector对ASP.NET Core的支持是测试版),但我很好奇是否有人知道解决方法。谢谢!
答案 0 :(得分:5)
使Simple Injector的所有必需部件与RC2兼容是一项艰巨的任务。微软改变了一切(包括API,MVC和工具)。所以我们花了几天时间来解决这个问题并创建兼容版本。
但我很高兴地宣布Simple Injector的v3.1.5与.NET Core 1.0.0-rc2兼容,并且SimpleInjector.Integration.AspNet软件包的v3.1.5-rc2-02版本兼容RC2也是如此。我们也更新了the documentation。