Master Build status

DotNetStarter is a framework for composing applications where many components are provided by NuGet packages. The main audiences of DotNetStarter are package authors and application developers.

Package authors can depend on either the configuration and startup abstractions or the registration attribute abstractions to create their components. The components can then be designed with constructor dependency injection in mind. These classes can then be registered by using the RegistrationAttribute or in a startup module implementing ILocatorConfigure. Packages may also perform tasks during startup and shutdown using the IStartupModule interface.

Application developers can install the DotNetStarter package, a locator (container wrapper) package, any extension such as MVC for the full .NET framework, and any NuGet packages utilizing the abstractions. Developers have full control over the startup process which can be customized through code configuration at almost every level using a fluent configuration API. The framework also supports a wide variety of .NET frameworks from .NET version 3.5 and up, as well as the .NET Standard starting at 1.0.

Package Version
DotNetStarter NuGet version
DotNetStarter.Abstractions NuGet version
DotNetStarter.RegistrationAbstractions NuGet version
DotNetStarter.Web NuGet version
DotNetStarter.Owin NuGet version
Locators  
DotNetStarter.Locators.Autofac NuGet version
DotNetStarter.DryIoc NuGet version
DotNetStarter.Locators.Grace NuGet version
DotNetStarter.Locators.LightInject NuGet version
DotNetStarter.Locators.Stashbox NuGet version
DotNetStarter.Structuremap NuGet version
DotNetStarter.Locators.StructuremapSigned NuGet version
Extensions  
DotNetStarter.Extensions.Mvc NuGet version
DotNetStarter.Extensions.WebApi NuGet version

Documentation

Examples