2016-05-22 11 views
1

Я создал приложение ASP.NET Core Web API из шаблонов VS (я обновил VS с помощью новейшего ASP.NET Core RC2). Тем не менее, я сталкиваюсь с проблемами при попытке настроить мое приложение на использование SimpleInjector в качестве контейнера IoC.ASP.NET Core с простым инжектором

Я использую предоставленные инструкции 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)); 
    } 

Я понимаю, что могут быть проблемы, как я использую новый релиз RC2 в ASP.NET (и поддержка SimpleInjector для ASP.NET Ядра бета), но мне было интересно, если кто-нибудь знал, что обходной путь. Благодаря!

+0

Вы добавили импорт? – DavidG

+0

Я не уверен, что вы имеете в виду. У меня есть заявленные операторы, которые необходимы для SimpleInjector. Тем не менее, IServiceCollection выглядит так, как будто он поступает из инжекционной сборки зависимостей Windows. – Andrew

ответ

5

Выполнение всех необходимых частей простого инжектора, совместимого с RC2, было довольно сложным делом. Microsoft изменила все (включая API, MVC и инструменты). Поэтому нам потребовалось несколько дней, чтобы исправить это и создать совместимую версию.

Но я рад сообщить, что v3.1.5 Simple Injector совместим с .NET Core 1.0.0-rc2 и версией v3.1.5-rc2-02 пакета SimpleInjector.Integration.AspNet совместим с RC2 также. Мы также обновили the documentation.

+0

Привет, Стивен. К сожалению, я до сих пор сталкиваюсь с проблемами. Я создаю Core Web API с нуля, выполнил команду в документации для установки SimpleInjector «Install-Package SimpleInjector.Integration.AspNet -Pre», но я все еще получаю ошибки, когда пытаюсь настроить приложение, как в документации , Я получаю ошибки. IControllerActivator и IViewComponentActivator не могут быть найдены. – Andrew

+0

Я заметил, что 'using SimpleInjector.Extensions.ExecutionContextScoping;' не используется. – Andrew

+0

@Andrew: в какую версию интеграционного пакета вы втянули? Может быть проблемой кэширования Nuget. – Steven

Смежные вопросы