This project is read-only.

Simple Injector v1.1

Rating:        Based on 1 rating
Reviewed:  1 review
Downloads: 814
Change Set: 74085
Released: May 22, 2011
Updated: Dec 17, 2011 by dot_NET_Junkie
Dev status: Stable Help Icon

Recommended Download

Application SimpleInjector Runtime Library
application, 170K, uploaded May 22, 2011 - 381 downloads

Other Available Downloads

Application SimpleInjector Silverlight Runtime Library
application, 154K, uploaded May 22, 2011 - 109 downloads
Source Code SimpleInjector Source Code
source code, 467K, uploaded May 22, 2011 - 195 downloads
Documentation SimpleInjector.chm
documentation, 132K, uploaded May 22, 2011 - 129 downloads

Release Notes

NOTE: Simple Injector v1.1 NOT the latest release. Please click on the Downloads tab above to find the latest Simple Injector release.

The Simple Injector is an easy-to-use Inversion of Control library. It solely supports code-based configuration and is an ideal starting point for developers unfamiliar with larger IoC / DI libraries

New features in this release
  • The RegisterInitializer<T> method now allows multiple Action<T>{ delegates to be registered for a single T. (work item 15842).
  • The IInstanceProducer interface has been made public to allow better performance optimizations when extending the container. The following two features could be added because of this.
  • The GetRegistration(Type) method was added to get (or create, cache and return) an IInstanceProducer for the supplied type.
  • The GetCurrentRegistrations() method was added. It returns a list of all currently registered types. This allows visualizing the registered dependencies.

New features in this release for the SimpleInjector.Extensions.dll
  • New RegisterManyForOpenGeneric overloads added that allow users to supply a callback delegate that does the actual registration. This allows alternative scenario's such as registration of multiple implementations of a closed generic service type. (work item 15878).
  • Performance optimization for non-generic RegisterAll methods. The optimization prevents the Container.GetInstance method from being called on each service type in the collection, but now directly calls into the IInstanceProducer interfaces, which is much quicker.
  • RegisterSingle(Container, Type) method was removed from NonGenericRegistrationsExtensions class in SimpleInjector.Extensions.dll. Because of the way C# overload resolution works, the C# compiler never picked that method, but would always pick Container.RegisterSingle<Type>(Type), which would not yield the correct configuration. Removing this method is a breaking change, but users will unlikely be affected by this. because the C# compiler would not pick this method anyway.

Bug fixes
  • GetService method failed on concrete unregistered types, that could not be resolved using auto-wiring, such as System.String and System.Int32. (work item 15843).

Reviews for this release

If you are trying to learn injection this is the library to start with. It is very well documented and easy to implement (Evert Wiesenekker)!
by Eefhert on May 27, 2011 at 8:34 AM