DIAssistant 2.1.0
dotnet add package DIAssistant --version 2.1.0
NuGet\Install-Package DIAssistant -Version 2.1.0
<PackageReference Include="DIAssistant" Version="2.1.0" />
paket add DIAssistant --version 2.1.0
#r "nuget: DIAssistant, 2.1.0"
// Install DIAssistant as a Cake Addin #addin nuget:?package=DIAssistant&version=2.1.0 // Install DIAssistant as a Cake Tool #tool nuget:?package=DIAssistant&version=2.1.0
Initial releaseAssistant that will bind all your services, adapters etc. with a single command, while still using any IoC you may wish, or sticking to the default MVC implementation.
In your Startup.cs file invoke BindDependencies() on IServicesCollection and pass in required parameters. Every Interface should inherit from IInjectable, and every implementation needs to have [Transient], [Scoped], or [Singleton] attribute on top. Each of those parameters also takes environment input, which allows you to simply bind mocked implementations for running tests for example.
If you want to use an IoC container, create an implementation of IInjector interface and pass it in to the BindDependencies extension method called upon IServiceCollection via generic parameter.
I would suggest following 'Composition Root' pattern, it will both save you some headache and make all of this seem even easier than it already is.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.