如何在C#项目

时间:2016-04-14 13:59:34

标签: c# visual-studio-2015

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

谢谢!

5 个答案:

答案 0 :(得分:4)

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

  • System.Reflection和System.CodeDom存在 - Is it possible to dynamically compile and execute C# code fragments?
  • 可以在运行时生成新的C#代码,该代码使用其他未使用的类。
  • 没有任何工具可以预测新的C#代码是什么(除了编写代码的人之外)
  • 依赖注入库(在幕后使用System.Reflection)可以调用“未使用”类。这种情况经常发生在MVC控制器类中。
  • Razor Views可以使用类。这些不是默认编译的。相反,如果缺少一个类,它们将在运行时崩溃。

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

每个班级:

  • 在Visual Studio中选择它,右键单击“查找所有引用”
  • 如果没有找到,请将课程评论为/ * * /
  • 重建所有(including Razor views)。如果没有发现错误,则该类未被使用。

答案 1 :(得分:1)

您可以通过右键单击并检查引用来尝试。方法,类和属性也是可能的。但它不会显示表示层中引用的类,方法或属性

答案 2 :(得分:1)

下载并开始resharper的免费试用可能值得。通过使用“解决方案范围分析”功能,您将能够快速找到解决方案中未使用的代码。此外,还有许多其他很酷的功能!

答案 3 :(得分:0)

根据我对该问题的理解,您选择找到无法从批处理中的主方法访问的类。

根据解决方案的布局,可以通过添加引用和使用 using 关键字从主方法项目到达所有类。可以对其他解决方案项目进行外部引用通过添加dll然后导入命名空间。

如果您想要执行清理并从解决方案中删除未使用的类别,则需要仔细检查类的直接和间接引用。

认为以上回答你的问题,如果你满意,请标记为答案。

答案 4 :(得分:-3)

尝试阅读.sln文件。它将包含对所有使用项目的引用。 对于使用的每个项目,请打开.csproj文件。 compile下的所有文件都用于项目构建。假设每个文件有一个类,您可以安全地删除其他文件。