一键导入
dotnet-inspect
Find evidence instead of guessing for .NET packages, platform libraries, local assemblies, APIs, dependencies, and version-to-version API changes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Find evidence instead of guessing for .NET packages, platform libraries, local assemblies, APIs, dependencies, and version-to-version API changes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Whole-assembly call-graph leverage ranking and performance triage for libraries (experimental).
Decide whether a change or upgrade is safe — API-surface diffs, behavioral diffs (allocations, exceptions), feature switches, and version resolution.
Judge whether code is sound and safe to call — its exception surface (throws, catches, exception types) and the unsafe operations in a method body.
Reconstruct a method or type locally as C# and IL — decompiled source, annotated source with hidden facts, raw IL, fidelity levels, and IL-offset lookup. Always local, no network.
Use for opt-in Deep Inspect run triage: test lane failures, census artifacts, pinned-subset drift, and routing findings into issues or tracker updates.
Run and interpret opt-in expensive validation lanes: full slow tests, IL round-trip sweep, corpus sensors, validity scans, and analysis census.
| name | dotnet-inspect |
| version | 0.16.0 |
| description | Find evidence instead of guessing for .NET packages, platform libraries, local assemblies, APIs, dependencies, and version-to-version API changes. |
Use dotnet-inspect for evidence instead of guesses about .NET packages, platform libraries, assemblies, APIs, dependencies, or API version diffs.
dnx dotnet-inspect -y -- <command>
-y skips interactive confirmation, including after package updates; -- sends remaining options to dotnet-inspect, so --help does not show dnx help.
| Goal | Command |
|---|---|
| Find an API | find Pattern includes platform/BCL types; add --project path/to/project when project references should be in scope. |
| Inspect a type | type Type --package Foo; add --all for non-public/hidden members. |
| Inspect overloads | member Type --platform Lib -m Name -S "Member Index" |
| Select an overload | member Type --platform Lib Name:1 or Name~digest |
| Compare APIs | diff --package Foo@old..new --breaking (--additive new APIs); --alloc-regressions for perf regressions (allocations up, hot first). |
| Trace API evolution | timeline --package Foo@old..new --type Type --members --at all; omit --at to inspect the vector without acquiring packages. |
| Inspect packages | package Foo -S Signals, --library, --path @readme --content. |
| Inspect libraries | library Foo or library path/to.dll; add --platform, -S Signals. |
| Relationships | depends Type, extensions Type, implements Interface. |
Run find Name when scope is unknown, inspect the type, then -S "Member Index" to list
overloads. Select with Name:N (1-based) or Name~digest (stable). A selected overload
defaults to Signature. A fully-qualified Namespace.Type.Member needs no scope.
dnx dotnet-inspect -y -- find JsonSerializer
dnx dotnet-inspect -y -- member JsonSerializer --platform System.Text.Json -m Serialize -S "Member Index"
dnx dotnet-inspect -y -- member JsonSerializer --platform System.Text.Json Serialize:1 -S Signature
dnx dotnet-inspect -y -- member System.Text.Json.JsonSerializer.Serialize -S "Member Index"
-D/-S discovery, projection, and limits, load dotnet-inspect skill query.--project <csproj|dir|project.assets.json> when project-referenced packages should be in scope; it reads existing restored assets, so restore/build first if dependencies changed.type string, type 'List<T>'. Quote generics and patterns: member 'Dictionary<TKey,TValue>', -S "Async*".--preview for prerelease APIs.