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.
Documentation
- Important: Breaking Changes
- Customizing Startup
- Module creation, discovery, and dependencies
- Registering items
- Assembly Scanning
- Locators
- Scoped Services
- Package Authoring Tips
- Known Issues