InjectionMap 1.5.6

InjectionMap is a very small and extremely lightweight IoC/DI container for .NET.  
InjectionMap allows loose coupling betweeen a client's dependencies and its own behaviour. InjectionMap promotes reusability, testability and maintainability of any part of an application.
InjectionMap supports .Net 4.5, Silverlight 5, Windows Phone 8 or higher and Windows Store apps for Windows 8 or higher.

- InjectionMap uses type mapping to reference the key/reference and the implementation.
- Instances are resolved using reflection or can be provided through a callback whitch allows you to create the instance in your own code.
- It suports a fluent syntax to help keep the code simple, small and clean.
- The desired Constructors can be marked with attributes or will be selected according to the passed arguments.
- Parameters for constructors can be injected or passed at the time of mapping as objects or as delegate expressions.
- InjectionMap is very simple and straightforward.

Bugs, issues or feature wishes can submitted on https://github.com/InjectionMap/InjectionMap on the issues page or feel free to fork the project and send a pull request.

Install-Package InjectionMap -Version 1.5.6
dotnet add package InjectionMap --version 1.5.6
<PackageReference Include="InjectionMap" Version="1.5.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add InjectionMap --version 1.5.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

1.5.6
- Ensured that InjectionMap is Mutithread tolerant
- Make Defaultconstrucor selectable with .WithConstructor() or .WithConstructor(typeof(void))
- Fixed: Possible Deadlock when using container in multiple threads
- Fixed: Resolving from a MappingContext with a null name creates a empty Componets map
- Fixed: Resolve unmapped types that are deeper in the Dependencytree caused ResolverException

1.5.5
- Added: PropertyInjection
- Added: Pass arguments for constructors directly in resolver method
- Added: Select constructor based on the type of the parameters needed
- Added: Pass InjectionMap.Argument as arguments instances to resolver
- Added: Set delegate providing resolved value directly in Map
- Added: Logging/Tracing
- Fixed: AsConstant didn't allways return same value
- Fixed: Resolving now gets all mapped values from the same context
- Refactored: Moved Expression Interfaces to default namespace
- Refactored: ComponentMapper - Allow access to Context from public
- Refactored: Renamed InjectionFlags.AsConstant to InjectionFlags.Singleton
- Refactored: Renamed InjectionFlags.AsSingleton to InjectionFlags.OverrideAllExisting

1.5.4
- Map to and reslove from a named context
- Add delegate or instance directly to Map<T>()
- Moved Initializer methods from InjectionMapper to MapInitializer

1.5.1
- Rename MappingContainer to MappingContext
- Added public accessor to MappingContext in InjectionMap

1.5.0
- Allow to pass a MappingContainer to InjectionMapper.Initialize(...)
- Constructors that have to be used can be defined when creating the map or when resolving.

1.4.8
- Renamed IInjectionMapper to IMapInitializer
- Moved Exceptions to base namespace
- Moved ComponentMapper to public
- InjectionMapper.Map<T>() now also maps to custom containers
- Added ExtendAll<T>() to InjectionResolver to extend all registered mappings of the type
- Changed License to Ms-PL
- Added InjectionResolver.For<T>() to resolve and extend unmapped types
- Refactored InjectionResolver.ExtendMap<T>() to simply extend existing mappings
- Added CLSComplient Attribute to assembly
- Expression Interfaces don't inherit from IComponentExpression to prevent return values showing component properties. Expression implementaitons additionaly inherit from IComponentExpression.
- Converted internal Ensure implementation to Extensionmethods
- Moved Internal implementation from Resolver, Mapping and Component to InjectionMap.Internal namespace

Dependencies

This package has no dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on InjectionMap:

Package Downloads
InjectionMap.Configuration
InjectionMap.Configuration is a small extension to InjectionMap for defining mappings in the application configuration file.
InjectionMap.Wpf
InjectionMap is a small extension to InjectionMap for WPF Applications. This extension allows viewmodels to be injected into the DataContext of a View (FrameworkElement).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.5.6 855 10/14/2015
1.5.6-RC02 431 4/28/2015
1.5.5 731 1/22/2015
1.5.5-RC9 484 12/22/2014
1.5.5-RC8 489 12/22/2014
1.5.5-RC7 456 12/17/2014
1.5.5-RC6 477 12/16/2014
1.5.5-RC10 442 12/26/2014
1.5.4 1,113 11/4/2014
1.5.3 1,087 11/4/2014
1.5.2 1,075 11/4/2014
1.5.2-RC1 702 11/4/2014
1.5.1 605 10/13/2014
1.5.0 605 10/13/2014
1.5.0-RC1 477 10/13/2014
1.4.8 638 9/3/2014
1.4.7 651 9/2/2014
1.4.7-RC3 478 9/3/2014
1.4.7-RC2 486 9/3/2014
1.4.6 671 8/24/2014
1.4.5 636 8/18/2014
1.4.4 616 7/18/2014
1.4.3 668 5/29/2014
1.4.2 631 5/26/2014
1.4.1 618 5/20/2014
1.3.7 642 5/10/2014
1.3.5 634 5/1/2014
1.3.1 638 4/30/2014
1.2.1 666 4/29/2014
1.2.0 642 4/27/2014
1.1.0 625 4/26/2014
1.0.0 656 4/26/2014