用途:呈现包或库的可观察信号,涵盖溯源、构建质量、安全面与供应链,用于判断依赖需要多大谨慎。它报告观察而非结论,不给出信任背书。
主要能力:-S Signals 是包或库的一站式汇总视图,报告 SourceLink、确定性、trim/AOT 兼容性、内存安全元数据、unsafe/PInvoke 暴露面、引用、TFM、清单/文档、许可证、漏洞、包龄、依赖风险,以及制品文本包含与标识符混淆的无内容摘要。
用法示例: dnx dotnet-inspect -y -- package Microsoft.Extensions.AI -S Signals dnx dotnet-inspect -y -- library System.Text.Json -S Signals
安全与互操作面:-S @Audit 展开为目标编写的审计区段。在库上包含 P/Invoke Methods 与 Audit: Identifier Confusion,并附信号、符号与路径证据;Unsafe Members 是独立库区段,需按名选择。在包上 @Audit 包含 Audit: Artifact Text 与 Audit: Identifier Confusion。Switches 同样独立,需显式选择以查看功能开关与 trim/AOT 旋钮。示例: dnx dotnet-inspect -y -- library MyLib.dll -S "@Audit,Switches" dnx dotnet-inspect -y -- library MyLib.dll -S "Unsafe Members,P/Invoke Methods"
dnx dotnet-inspect -y -- package MyPackage -S "Signals,Audit: Artifact Text"
SourceLink 溯源:-S @SourceLink 分组溯源区段,区别于获取源码。库 Signals 区分可用、部分可用或不可用的映射;Diagnostics 报告解析错误与被拒映射且不联网;Availability 报告文档是嵌入还是可达;Integrity 校验内容;Missing Files 报告缺口。可用性与缺失文件检查可能对未缓存 URL 发送 HEAD 请求,完整性检查会抓取并哈希可获取的非嵌入编译器源文档,故应显式请求这些联网检查。
dnx dotnet-inspect -y -- library System.Text.Json -D @SourceLink
dnx dotnet-inspect -y -- library System.Text.Json -S "SourceLink: Integrity"
限制:Signals 仅供摘要且不重复可疑值;包与库的标识符混淆摘要不做内容展开。在库上,类别发现为结构化,须加 --effective 才生效;在包上,目标发现默认即为 effective。文档未提供收费、平台与价格信息。