Portico.DependencyInjection
0.2.0
Prefix Reserved
dotnet add package Portico.DependencyInjection --version 0.2.0
NuGet\Install-Package Portico.DependencyInjection -Version 0.2.0
<PackageReference Include="Portico.DependencyInjection" Version="0.2.0" />
<PackageVersion Include="Portico.DependencyInjection" Version="0.2.0" />
<PackageReference Include="Portico.DependencyInjection" />
paket add Portico.DependencyInjection --version 0.2.0
#r "nuget: Portico.DependencyInjection, 0.2.0"
#:package Portico.DependencyInjection@0.2.0
#addin nuget:?package=Portico.DependencyInjection&version=0.2.0
#tool nuget:?package=Portico.DependencyInjection&version=0.2.0
Portico.DependencyInjection
Microsoft.Extensions.DependencyInjection adapter for Portico.
Resolve your CLI command contracts from an IServiceProvider, one scope per dispatched command.
dotnet add package Portico.DependencyInjection
using Portico;
using Portico.DependencyInjection; // the IServiceProvider overload lives here
// `services` is the IServiceProvider your service already builds.
CliApplication.Create(cfg => cfg.AddCommands<IAdminTool>(services)).Run(args);
Register your contract in that container as you would anything else —
services.AddScoped<IAdminTool, AdminTool>() — and its dependencies alongside it.
Building a container from scratch rather than reusing one?
BuildServiceProvider()is inMicrosoft.Extensions.DependencyInjection, which this package does not depend on and you would add yourself. Depending only on.Abstractionsis deliberate: it is what lets an adapter sit next to a container you already have without opinions about which one.
Each dispatched command gets its own IServiceScope, disposed when the command finishes —
whether it succeeded, threw, or was cancelled. AddScoped means what it means.
The factory stays lazy: a health command never constructs the connection pool
a migrate command needs.
Depends on: Portico (pulled automatically) and
Microsoft.Extensions.DependencyInjection.Abstractions.
Full documentation: github.com/vvka-141/portico · Issues and feedback: github.com/vvka-141/portico/issues
Portico is 0.x. The API is still being shaped by what breaks, so a rough edge is worth an issue rather than a workaround.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Portico (>= 0.2.0)
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Portico (>= 0.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Portico.DependencyInjection:
| Package | Downloads |
|---|---|
|
Portico.Hosting
Microsoft.Extensions.Hosting integration for Portico, the contract-first CLI framework for .NET. Register command contracts with HostApplicationBuilder and reuse the application's configuration, logging and dependency injection rather than rebuilding them. Graceful shutdown defers to IHostApplicationLifetime, and the command's exit code reaches Main. |
GitHub repositories
This package is not used by any popular GitHub repositories.