DryIoc $version$ Maksim Volkau Copyright © 2013 Maksim Volkau https://bitbucket.org/dadhi/dryioc http://opensource.org/licenses/MIT false DryIoc is fast, small, full-featured IoC Container for .NET $package_iconUrl$ IoC Container Inversion-of-Control DI Dependency-Injection DRY Service-Provider Factory v2.1.0 - added: #205: Add customizable IfAlreadyRegistered default value per container - added: #204: Add ResolveMany of objects wout need to specify ResolveMany{Object} - fixed: #203: RegisterMany should exclude ValueType and general purpose service types IEquatable, IComparable v2.0.2 - fixed: #201: Mutithreading issue when RegisterInstance() is used within OpenScope() v2.0.1 - fixed: #200 Multiple instances for Singleton created when Container is shared among multiple threads v2.0.0 - Support for PCL 328 and 259 profiles, and .NET Core via dotnet moniker. - More consistent and complete API surface. - Diagnostics of potential resolution problems with `container.VerifyResolutions()`. - Improved registration and first resolution time. - Support of really large object graphs. - Possibility of compile-time factory delegate generation. Utilized by DryIocZero. - Ambient current scope and `Reuse.InWebRequest` for ASP.NET integration. - Support for static and instance factory methods in addition to constructor, including support for method parameters injection. - Powerful open-generics support including variance, constraints, open-generic factory methods in open-generic classes. - Service key of arbitrary type. The only requirement for key type is to implement `GetHashCode` and `Equals`. - Resolve as `KeyValuePair` to get service key with service object. - Register with condition for resolution. - Required service type support: e.g. `var serviceObjects = c.Resolve{object[]}(typeof(Service));`. - Optional parameters support. - Fine-grained control over injection of parameters, properties, and fields. - Injection of primitive values. - Control how reused service is stored and disposed via `weaklyReferenced` and `preventDisposal` setups. - Resolve service collection as `IList{T}`, `ICollection{T}`, `IReadOnlyList{T}`, `IReadOnlyCollection{T}`. - Register once, existing registration update, unregister. - removed: Compilation to DynamicAssembly. DryIoc is fast enough without its complexity.