我们小组有一个“工具库”DLL,我们的几个内部项目(都是 C#)都在使用它。我产生了一种直觉,即大部分工具库仅由其中一个项目使用——让我们称该项目为“项目 A”。是否有任何 .NET 工具可以检查工具 DLL 和所有项目(可能是项目 EXE),并枚举工具库中确实仅由项目 A 使用的所有方法和类?我认为一些重构是有序的(将工具库的一部分移回项目 A 自己的代码库),这样的列表听起来会很有帮助。
由于反思,我不认为一个工具可以 100% 正确地完成这项工作。但是假设我知道我们的项目都没有使用任何巧妙的反射技术调用工具库;他们只使用应该适合静态分析的正常方法调用来调用它。