仅保留使用过的类型并删除未使用的类型

Only keep used types and remove unused types

有什么方法可以从项目中删除未使用的 types/code。 假设我在我的控制台应用程序中使用 NAudio(源代码),我只使用它的 WaveIn class。我有什么办法可以从代码中删除未使用的 classes 并只保留 WaveIn class 和 classes WaveIn 依赖?摇树线下的东西

Ndepend 是答案

from t in Types 
let depth0 = t.DepthOfIsUsedBy("NAudioTrim.Program")
where depth0  >= 0 orderby depth0
select new { t, depth0 }

其中 NAudioTrim.Program 包含我的应用程序的入口点和使用的类型。 获得所有已用类型的列表以及它们使用的类型后,您可以删除其余的 files/types