我有一个包含不同项目的 C# 大型解决方案。它还包含一个带有 Main 静态方法的批处理。 我必须从这个方法开始识别并删除所有不能使用的类。 哪种方法最好? 我正在使用 Microsoft Visual Studio Professional 2015
谢谢!
最佳答案
没有工具可以完全做到这一点,因为
- System.Reflection 和 System.CodeDom 存在 - Is it possible to dynamically compile and execute C# code fragments?
- 可以在运行时生成新的 C# 代码,它使用其他未使用的类。
- 没有任何工具可以预测新的 C# 代码是什么(编写代码的人除外)
- 依赖注入(inject)库(在幕后使用 System.Reflection)可以调用“未使用”的类。这种情况经常发生在 MVC Controller 类中。
- Razor View 可以使用类。这些不是默认编译的。相反,如果缺少某个类,它们将在运行时崩溃。
假设没有人在使用 System.Reflection,您可以手动完成。
对于每个类(class):
- 在 Visual Studio 中选择它,右键单击然后“查找所有引用”
- 如果没有找到,将类注释掉/* */
- 全部重建 ( including Razor views )。如果没有发现错误,则该类未被使用。
关于c# - 如何识别 C# 项目中未使用的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36625430/