IoCTools.Tools.Cli
1.9.1
dotnet tool install --global IoCTools.Tools.Cli --version 1.9.1
dotnet new tool-manifest
dotnet tool install --local IoCTools.Tools.Cli --version 1.9.1
#tool dotnet:?package=IoCTools.Tools.Cli&version=1.9.1
nuke :add-package IoCTools.Tools.Cli --version 1.9.1
IoCTools.Tools.Cli
IoCTools.Tools.Cli is the developer-facing inspection tool for IoCTools. Install it as a dotnet tool and point it at a real project to inspect generated constructors, registrations, diagnostics, configuration bindings, validators, and migration posture.
Install
dotnet tool install --global IoCTools.Tools.Cli
To install from a local build:
dotnet pack IoCTools.Tools.Cli/IoCTools.Tools.Cli.csproj -c Release -o ./artifacts
dotnet tool install --global --add-source ./artifacts IoCTools.Tools.Cli
Key Commands
ioc-tools evidence --project MyProject.csproj --json
ioc-tools evidence --project tests/MyApp.Tests.csproj --test-fixtures --production-project src/MyApp.csproj --json
ioc-tools suppress --project MyProject.csproj --codes IOC035,IOC092 --json
ioc-tools validator-graph --project MyProject.csproj --why MyValidator --json
evidenceemits one correlated bundle across registrations, diagnostics, configuration, validators, migration hints, and generated artifacts.evidence --test-fixtures --production-project <csproj>scans a test project for hand-wiredMock<T>fields, manualnew Service(...)helpers, andOptions.Create(...)boilerplate that can move to[Cover<T>]. Each candidate is classified assafe migration,partial migration,already covered,not a target, orunknown/manual review. Seedocs/testing.md→ CLI Fixture Evidence for the before/after example.evidence --baseline <dir> --output <dir> --jsonadds stable artifact fingerprints and structured compare deltas withadded,removed,changed, andunchangedstatus.suppress --jsonemits structured suppression metadata alongside the.editorconfigrecipe.validator-graph --jsonandvalidator-graph --why --jsonemit structured contracts for validator topology and lifetime reasoning.
Do not replace
[Cover<T>]compile-time fixture generation with runtime scanning/reflection. That pathway is rejected by IoCTools doctrine — file an issue against IoCTools if you hit a gap in the generator instead of working around it.
Authoring Guidance
- Never use
[Inject]in new code. - Never use
InjectConfigurationin new code. - Prefer
[DependsOn<T>]for service dependencies. - Prefer
[DependsOnConfiguration<T>]or[DependsOnOptions<T>]for configuration dependencies.
See the repo docs for the full reference:
docs/cli-reference.mddocs/diagnostics.mddocs/attributes.md
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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. |
This package has no dependencies.
v1.9.0: version-coherence rebuild — no functional changes in this package. The 1.9.0 feature work landed in IoCTools.Testing / IoCTools.Testing.Abstractions ([Cover<T>] ConcreteHandling knob, TestFixturePipeline namespace-exact match, FixtureEmitter static-mutable purge). Carries forward the 1.8.0 [InjectConfiguration] null-fallback behavior change. See CHANGELOG.md.