带有简单注入器的ASP.NET核心

And*_*rew 1 c# asp.net simple-injector asp.net-web-api

我已经从VS模板创建了一个ASP.NET Core Web API应用程序(我使用最新的ASP.NET Core RC2更新了VS).但是,在尝试设置我的应用程序以使用SimpleInjector作为IoC容器时,我遇到了问题.

我正在使用此处提供的说明.当我镜像在该链接上找到的指令时,我在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));
    }
Run Code Online (Sandbox Code Playgroud)

我意识到可能存在一些问题,因为我使用的是最新的ASP.NET版本(并且SimpleInjector对ASP.NET Core的支持是测试版),但我很好奇是否有人知道一种解决方法.谢谢!

Ste*_*ven 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兼容.我们也更新了文档.