How much does LightCore cost?
The LightCore binaries may be used in any kind of project (private, commercial, ...) for free.
The LightCore sources are licensed under the MS-PL.
Donate for LightCore on Paypal
What is LightCore?
LightCore is a lightweight dependency injection container which can be used as a service locator, too.
Despite its simplicity and its lightness there are lots of features to explore.
The library was written in C# for .NET 3.5 and above, with an eye on simplicity and clean code (Clean Code Developer).
Moreover, LightCore is completely covered by unit and integration tests.
I - Peter Bucher - consider LightCore as a reference project regarding coding standards and styles. For developers, who
prefer a German environment, LightCore means a special chance to deal intensively with dependency injection, since it
is completely provided in German language and being written by a German speaking author.
LightCore is ...
- ... in its basic version about 35kb small and has only 3 references (System, System.Core and mscorlib).
- ... lightweight, loaded quickly and comfortable to deploy.
- ... not overloaded and contains a reasonable feature set and therefore application is easy.
- ... available for .NET 3.5, .NET 4.0, Silverlight 3 and .NET Compact Framework 3.5.
- ... an early adopter and uses the latest technologies from .NET 3.5 and .NET 4.0.
- ... fast: In comparison to other dependency injection containers LightCore stands out by its amazing speed.
- ... available with German and English documentation and website.
- ... usable flexibly, by either using only the basic version or by using the basic version in combination with additional components.
- ... always up to date and being improved thanks to feedback and criticism from the community.
Example with a delegate registration
var builder = new ContainerBuilder();
builder.Register<IWebApp>(c => new WebApp(c.Resolve<IRequestHandler>()));
builder.Register<IRequestHandler>(c => new RequestHandler());
IContainer container = builder.Build();
var webApp = container.Resolve<IWebApp>();