Все значимые изменения в этом проекте будут задокументированы в этом файле.
Формат основан на Keep a Changelog и этот проект придерживается Semantic Versioning.
— Убрана поддержка .NET Framework 4.5. Теперь мы предоставляем поддержку только для .NET Framework 4.6, .NET 6 и .NET Standard 2.0.
— Изменено возвращаемое значение IBindingResolver (и реализующих классов) с IEnumerable<IBinding>
на ICollection<IBinding>$. — Свойства
IConstructorScorer ConstructorScorerи
ICollection InjectionHeuristicsудалены из **(I)Selector**. — Изменено возвращаемое значение
ISelector.SelectConstructorsForInjection(Type type)(и реализующих классов) с
IEnumerableна
ConstructorInfo[]. — Методы
T Get(string key, T defaultValue)и
void Set(string key, object value)удалены из **(I)NinjectSettings**. — Метод
GetBindings(Type service)в **IKernel** и **KernelBase** теперь возвращает
IBinding[]вместо
IEnumerable. — Удалено наследование
IHaveKernelот
IBindingSyntax. — Удалена собственность
IInjectorFactory InjectorFactoryиз
PropertyInjectionStrategy. — Добавлена настройка
PropertyInjection, которую можно использовать для управления включением инъекции свойств. По умолчанию инъекция свойств включена. — Добавлена настройка
MethodInjection, которую можно использовать для управления включением метода инъекции. По умолчанию метод инъекции включён. — Изменён тип аргумента параметров в конструкторе
Requestс
IEnumerableна
IReadOnlyList$.
— Изменён тип аргумента параметров в IResolutionRoot.CreateRequest(...)
с IEnumerable<IParameter>
на IReadOnlyList<IParameter>$. — Изменён тип аргумента параметров в
KernelBase.CreateRequest(...)с
IEnumerableна
IReadOnlyList$.
— Изменён тип свойства Parameters в IBindingConfiguration
(и реализующих классах) с ICollection<IParameter>
на IList<IParameter>$. — Изменён тип свойства Parameters в
Requestи
Contextс
IEnumerableна
IReadOnlyList$.
— В IResolutionRoot
добавлен метод object ResolveSingle(IRequest request)
, который оптимизирован для разрешения одного экземпляра данной службы. Этот новый метод используется в методах расширения Get
, TryGet
и TryGetAndThrowOnInvalidBinding
.
— Привязка/перепривязка к константному универсальному List всегда возвращает пустой список #333.
— Бесконечный цикл при вызове TryGet<T>(string name)
#393.
— VerificationException
при инъекции указательного типа (.NET Framework только).
— InvalidProgramException
при аргументе конструктора Pointer или Value типа #386, #389.
— Запрос для пустого List<>
возвращает непустой List<>$. — Вызов
kernel.Get()` два раза не даёт одинаковый результат #262.
— Изменена реализация IServiceProvider.GetService
#376.
— Консолидирована обработка параметра isUnique
для TryGet
#378.
— Изменена реализация IServiceProvider.GetService
#376.
— Консолидирована обработка параметра isUnique
для TryGet
#378.
— InvalidProgramException
при аргументе конструктора Pointer или Value типа #386, #389.
— Запрос для пустого List<>
возвращает непустой List<>. Ninject: изменения в версиях
[3.3.4] — 2017-11-13
[3.3.3] — 2017-10-22
[3.3.2] — 2017-10-22
[3.3.2-rc1] — 2017-10-15
Восстановлено CLSCompliant(true).
Убрано использование каталога исполняемой сборки из базовых каталогов.
[3.3.2-beta1] — 2017-10-07
[3.3.1] — 2017-10-05
Поддержка kernel.Get<IEnumerable>() [#252].
Перемещение BindingPrecedenceComparer в папку Bindings.
Методы Target GetValues и GetValue устарели.
Исправлено ложное срабатывание проверки циклических зависимостей для шаблона декоратора [#251].
[3.3.0] — 2017-09-26
[3.3.0-beta1] — 2017-09-23
Добавлена поддержка .NET Standard 2.0.
Сильные перегрузки WithConstructorArgument, которые используют обратный вызов для получения значения [#197].
Не выбирать конструкторы с атрибутом ObsoleteAttribute [#224].
Значимое сообщение об ошибке, если есть ошибка в конфигурации [#240, #245].
Использование HasDefaultValue вместо DBNull [#235].
Массив/список конкретных классов будет возвращать пустой, если конкретный класс явно не связан [#227].
Убрана поддержка для .NET 3.5 и Silverlight.
Улучшено обнаружение циклических зависимостей [#143].
InvalidProgramException при выборе конструкторов для MulticastDelegate [#175].
КогдаMemberHas сломан [#189].
Инъекция в частные родительские свойства не работает [#214, #217].
Нарушение Singleton / циклической зависимости WithPropertyValue или OnActivation обратного вызова [#221, #224].
Вызванный член не поддерживается в динамической сборке [#225].
Условная привязка не учитывается при подсчёте конструкторов [#237].
[3.2]
bool IRequest.ForceUnique: в случае наличия безусловной и условной привязки возвращает условную. В случае наличия нескольких безусловных или условных привязок выбрасывает исключение ActivationException.
IResolutionRoot.TryGetAndThrowOnInvalidBinding (метод расширения): возвращает null, если привязки нет, но выбрасывает ActivationException, если есть привязка, которая не может быть активирована.
Введён TypeMatchingConstructorArgument.
ToConstructor() теперь может принимать результаты методов в качестве аргумента, например ToConstructor(_ => new Foo(this.GetBar())).
WhenNoAncestorMatches, WhenAnyAncestorMatches и WhenNoAncestorNamed.
WeakConstructorArgument и WeakPropertyValue, которые сохраняют слабую ссылку на значение, чтобы у Ninject не было ссылки на них при кэшировании созданного экземпляра.
Overloads для WhenInjectedInto и WhenInjectedExactlyInto, которые принимают несколько типов для поддержки нескольких разрешённых. Изменения
Добавлено:
Исправлено:
Добавлено:
Изменено:
Исправлено:
Изменено:
[3.0.0-rc3]
Добавлено:
Изменено:
Удалено:
Исправлено:
Исправлено:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )