我有一个独立的解决方案(在任何其他项目中都没有使用DLL,因此不必担心在其他地方使用的方法)。
我正试图找出一种方法来确定根本没有使用的每个方法/属性。
所以我不能只看私有方法/属性,我还需要检查公共方法和属性。
我过去曾使用过一个程序来执行此操作,但仅适用于私有方法/属性(它保证的东西不被其他项目使用)。即使我记得它是什么,它也无法满足我的需求。
我看过nDepend,但不确定这是否是应用程序中的标准内容,或者是否需要为它编写自定义CQL语句。
有没有人知道这样做的应用程序,或者如果nDepend可以做到这一点,那么在nDepend中做的有多难?
答案 0 :(得分:9)
是的 - 我会说NDepend是这种依赖性分析的首选工具。
它提供了大量的预先封装的CQL查询来完成这类工作,编写自己的CQL查询非常简单,基于现有的模板作为模板。
最简单的是,用于检测未使用方法的CQL查询可能如下所示:
SELECT
METHODS // Get me a list of methods
WHERE
MethodCa == 0 // Where their afferent coupling is zero, (afferent coupling being the number of other methods that call it)
这只是向您展示CQL外观的示例。 NDepend提供了一个更高级的查询来查找未使用的方法。
有关详细信息,请参阅Patrick Smacchia's blog。
总的来说,其他工具(FxCop和Resharper)也可以提供帮助,但这种依赖性分析是NDepend的存在理由。答案 1 :(得分:6)
如果您启用solution wide analysis,Resharper可以为您提供此类信息。
答案 2 :(得分:1)
代码分析(FxCop)还可以找到未使用的方法和属性。它将产生警告,“没有上游呼叫者使用此功能,请考虑将其删除”
答案 3 :(得分:-1)
这是Visual Studio 2010 Ultimate中内置的。我用它。