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

ASP.NET Core with Simple Injector

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

我正在使用提供的说明 here。当我镜像 link 处的说明时,我在 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 是测试版),但我很好奇是否有人知道解决方法.谢谢!

使 Simple Injector 的所有必需部分与 RC2 兼容是一项艰巨的任务。 Microsoft 改变了一切(包括 API、MVC 和工具)。所以我们花了几天时间来解决这个问题并创建一个兼容版本。

但我很高兴地宣布,Simple Injector v3.1.5 与 .NET Core 1.0.0-rc2 兼容,SimpleInjector.Integration.AspNet 包的 v3.1.5-rc2-02 版本与RC2也是。我们也更新了 the documentation