English Deutsch

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>();
            webApp.Run();