WedX - журнал о программировании и компьютерных науках

Контейнер Unity и поддержка dotnet Core/netstandard

Итак, MS отказалась от Unity (бесплатно). Будущее Unity
Репозиторий github выглядит неактивным Unity на GitHub

Кто-нибудь знает, что происходит с Unity?
Существует ли инструмент внедрения зависимостей IOC для ядра dotNet, если Unity является тупиком при использовании ядра dotnet?

РЕДАКТИРОВАТЬ: все еще жду новостей о Unity.
Альтернативы для тех, кто ищет: StructureMap , AutoFac
или наш вариант , SimpleInjector Он очень активен на GitHub. Ежедневно происходит много загрузок уже ~ 1 миллион только из Nuget. И его быстрый, очень хорошо документированный, хороший API с хорошей расширяемостью. Microsoft.Extensions.DependencyInjection был бы следующим выбором. У нас нет проекта ASP.NET. Если да, то обязательно посмотрите на MS DI. Вы также можете использовать MS DI в DotNet Core,
мне больше нравится SimpleInjector. Документ хорош, с более чем 500 загрузками в день и более чем 1 миллионом в общей сложности, Simpleinjector преодолел критическую массу.

EDIT2: Unity может просто сделать феникс для .netcore. Это все еще работает.
Обсуждение Unity для .netStandard на github. Хотя особой активности пока нет. Есть хоть какая-то поддержка, чтобы заставить его работать на Core. Вопрос в том, не будет ли слишком поздно? Поздние мигранты все еще могут получить выгоду. На данный момент (2018 г.) похоже, что альтернативы все еще требуются.
SimpleInjector уверенно продвигается вперед в качестве законной замены.
см. страницу SimpleInjector Nuget. Почти 3 миллиона загрузок и более 1k в день. По состоянию на июнь 2018 г.


  • хороший учебник по внедрению зависимостей в сетевом ядре: docs.microsoft.com/ en-us/aspnet/core/fundamentals/ . вам больше не нужно единство. 10.03.2017
  • Спасибо, Матиас. ASP.Net или для ядра dotnet Microsoft.Extensions.DependencyInjection — это нормально, но не так, как StructureMap AutoFac или Unity. Я использую Unity в DotNet Frameworks уже много лет. Я пошел использовать в ядре dotnet и обнаружил, что он недоступен. Мне все еще интересно узнать о Unity в ядре dotnet, но, похоже, мне нужно выбирать между Autofac или StructureMap. IOC ASP.Net рассматривается в проектах ASP.net mvc. Это не относится ко мне. 13.03.2017
  • Матиас, вы должны изменить комментарий, чтобы ответить. Стоит хотя бы галочку. Лучший ответ на данный момент. 18.03.2017
  • Вы пытались просто ссылаться на DLL Unity? Согласно анализатору переносимости, DLL Microsoft.Practices.Unity (по крайней мере, версия v2.0.414, которую я использую) на 100 % совместима с .NET Standard 2.0. 08.11.2018
  • Для тех, кто читает этот вопрос. есть поддержка .netcore github.com/unitycontainer/microsoft-dependency-injection 16.11.2020
  • Просто заметил 25К просмотров и закрыл. Кажется, мало кто интересовался вопросом. 17.11.2020

Ответы:


1

Для net core вы можете найти хороший учебник по внедрению зависимостей:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection или https://blogs.msdn.microsoft.com/webdev/2016/03/28/dependency-injection-in-asp-net-core/

Имхо, реализовать и использовать Microsoft.Extensions.DependencyInjection тоже намного проще. (По крайней мере, для MVC-Web-приложений) вам больше не нужно единство.

20.03.2017
  • Учитывая, что Microsoft предоставляет автоматизированные процессы регистрации для некоторых инструментов даже в ситуациях, не связанных с ASP, а распространенность инструмента делает его хорошим предложением и общей основой для основных решений .net. 20.03.2017
  • в единстве было много утерянных функций. один пример - перехватчики, не связывайтесь с Microsoft.Extentions.DependencyInjection 08.06.2020
  • @ChrisHayes, значит, вы минусуете меня за то, что Microsoft не реализовала в своей библиотеке? как насчет того, чтобы потратить несколько секунд на функцию поиска, и вы сможете найти альтернативы для перехватчиков, вместо того, чтобы голосовать за мой ответ как бесполезный. Другие пользователи stackoverflow добавляют еще один ответ, написав в дополнение к ... ответу, вот как реализовать недостающую функцию ...: - просто подсказка, как позитивно работает stackoverflow. 15.06.2020
  • давайте предположим, что я проголосовал за ваш ответ. ваш ответ не отвечает заголовку ОП. и ТАК работает stackoverflow. :( 16.06.2020
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]