这个工具NDepend可以帮助找出.NET代码库中未使用的代码。免责声明:我是这个工具的开发人员之一。 NDepend提供编写基于LINQ查询的代码规则(CQLinq)。提供约200个默认代码规则,其中3个专门用于检测未使用/死代码: 潜在死亡类型(因此检测未使用的类、结构、接口、委托...) 潜在死亡方法(因此检测未使用的方法、构造函数、属性getter/setter...) 潜在死亡字段 NDepend集成在Visual Studio中,因此这些规则可以在IDE中进行检查/浏览/编辑。该工具还可以集成到您的CI过程中,并生成报告,显示违反规则和罪犯代码元素。如果您单击上述这3个链接以向源代码查看这些规则,则会发现涉及类型和方法的规则有点复杂。这是因为它们不仅检测未使用的类型和方法,而且还检测仅由未使用的死亡类型和方法(递归)使用的类型和方法。这是静态分析,因此规则名称中带有前缀Potentially。如果一个代码元素仅通过反射使用,则这些规则可能认为它未使用,但实际上并非如此。除了使用这3个规则外,我建议通过测试来衡量代码覆盖率,并努力实现全面覆盖。通常,您会发现无法通过测试覆盖的代码实际上是可以安全丢弃的未使用/死代码。这在复杂算法中特别有用,其中不清楚代码分支是否可达。