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.
Install-Package DIAssistant -Version 2.1.0
dotnet add package DIAssistant --version 2.1.0
<PackageReference Include="DIAssistant" Version="2.1.0" />
paket add DIAssistant --version 2.1.0
This package has no dependencies.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.