Make LifetimeScoping package available for PCL.

The SimpleInjector.Extensions.LifetimeScoping package is currently only available for the full .NET framework. A PCL version should be created.

Id #21013 | Release: None | Updated: Thu at 8:25 PM by dot_NET_Junkie | Created: Thu at 8:25 PM by dot_NET_Junkie

DecoratorPredicateContext.ImplementationType returns service type in case the decoratee is not transient or singleton

// Arrange Type expectedImplementationType = typeof(ConcreteCommandHandler); Type actualImplementationType = null; var container = new Container(); container.Register<ICommandHandler<ConcreteComm...

Id #21012 | Release: None | Updated: Thu at 8:09 PM by dot_NET_Junkie | Created: Thu at 8:09 PM by dot_NET_Junkie

Change from .NET nested type separator (+) to the C# separator (.)

Simple Injector throws exceptions containing 'friendly' class names as they would be written in C#, but it uses the + character for displaying nested types. The + operator is how the CLR displays t...

Id #21011 | Release: None | Updated: Thu at 7:49 PM by dot_NET_Junkie | Created: Thu at 7:49 PM by dot_NET_Junkie

Add RegisterWithContext method to the core library

The RegisterWithContext is currently given as example in the documentation. A similar feature should be included in the framework, but with the important difference that this feature should integra...

Id #21010 | Release: None | Updated: Thu at 4:19 PM by dot_NET_Junkie | Created: Thu at 4:19 PM by dot_NET_Junkie

Allow creating InstanceProducers with specific dependent InstanceProducers

For instance: var dep1 = Lifestyle.Transient.CreateProducer<IDep, Dep1>(container); var dep2 = Lifestyle.Transient.CreateProducer<IDep, Dep2>(container); // public Consumer(IDep dep) { } var c1 =...

Id #21009 | Release: None | Updated: Thu at 1:49 PM by dot_NET_Junkie | Created: Thu at 1:49 PM by dot_NET_Junkie

Merge SimpleInjector.dll and SimpleInjector.Diagnostics.dll

The Diagnostic Services are now shipped as separate DLL within the same NuGet package as the core library. The idea to separate this from the main package is to reduce the memory footprint at runti...

Id #21008 | Release: None | Updated: Mon at 12:40 PM by dot_NET_Junkie | Created: Mon at 12:40 PM by dot_NET_Junkie

Diagnostic object graphs are not correctly built for decorator factories

Consider the following example: interface IHandle<T> { } class IntHandler : IHandle<int> { } class LoggingDecorator<T> : IHandle<T> { public LoggingDecorator(IHandle<T> decoratee) { } } class Tr...

Id #21007 | Release: None | Updated: Feb 18 at 11:31 PM by qujck | Created: Feb 17 at 10:06 PM by dot_NET_Junkie

Prevent warning about 'disposable transient' in Web API and MVC controller registrations

The 2.7 release of Simple Injector added a new diagnostic warning named Disposable Transient Components. Unfortunately, this warning causes false-positives in case users use the RegisterWebApiContr...

Id #21006 | Release: None | Updated: Mon at 12:30 PM by dot_NET_Junkie | Created: Feb 16 at 2:39 PM by dot_NET_Junkie

Add RegisterAll overload for batch registration

The current way of batch-registering collections in Simple Injector is using RegisterManyForOpenGeneric as follows: container.RegisterManyForOpenGeneric(typeof(ISubscriber<>), container.RegisterAl...

Id #21005 | Release: None | Updated: Feb 12 at 9:44 AM by dot_NET_Junkie | Created: Feb 12 at 9:44 AM by dot_NET_Junkie

Incorrect behavior with overlapping registration of collections

Simple Injector contains several ways to register collections. The most common way is to call RegisterAll while supplying types, but other options are: Calling RegisterAll while supplying a list o...

Id #21004 | Release: None | Updated: Feb 12 at 9:40 AM by dot_NET_Junkie | Created: Feb 12 at 9:08 AM by dot_NET_Junkie