如何识别 C# 项目中未使用的类

Teo*_*r81 4 c# visual-studio-2015

我有一个包含不同项目的C#大解决方案。它还包含一个带有 Main 静态方法的批处理。我必须从这个方法开始识别和删除所有不能使用的类。哪个是最好的方法?我正在使用 Microsoft Visual Studio Professional 2015

谢谢!

小智 6

没有工具可以完全做到这一点,因为

  • System.Reflection 和 System.CodeDom 存在 -是否可以动态编译和执行 C# 代码片段?
  • 可以在运行时生成新的 C# 代码,该代码使用其他未使用的类。
  • 没有工具可以预测新的 C# 代码是什么(除了编写代码的人)
  • 依赖注入库(在幕后使用 System.Reflection)可以调用“未使用”的类。这在 MVC 控制器类中经常发生。
  • Razor 视图可以使用类。默认情况下不编译这些。相反,如果缺少类,它们将在运行时崩溃。

假设没有人使用 System.Reflection,您可以手动完成。

对于每个班级:

  • 在 Visual Studio 中选择它,右键单击然后“查找所有引用”
  • 如果没有找到,注释掉该类 /* */
  • 重建所有(包括 Razor 视图)。如果未发现错误,则该类未使用。