在Visual Studio中获取零参考代码列表

在Visual Studio 2013中, 代码透镜显示特殊代码(方法,属性,字段…)的引用数量。 我想在visual studio中得到未使用的(零参考)代码。 有什么办法让他们?

我指的是下面的参考:

在这里输入图像说明

也许最好的(阅读:最简单的)方式来实现你所要做的就是在Visual Studio中使用内置代码分析工具来find并直接find死代码和未使用的成员。

为此,我简单地创build了一个新的代码分析规则集文件(通过文件 – >新build – >文件 ,确保选中左侧窗格中的常规并向下滚动查找代码分析规则集 ,给它一个文件名,然后search并select下面的规则)。 请参阅下面的规则集文件的内容,您可以简单地复制,并粘贴到扩展名为.ruleset使用的新文件。

给定规则集文件,可以在“ 解决scheme资源pipe理器”面板中右键单击项目文件,然后select“ 属性” 。 在项目属性窗口中,单击左侧面板中的“代码分析”选项卡,然后单击“ 打开”以浏览到.ruleset文件的位置。 如果您转到解决scheme文件的属性(而不是项目文件),则可以在解决scheme中的每个项目中设置代码分析文件(在“代码分析设置”下) ,然后使用下拉列表中的下拉菜单规则集文件注:以前必须浏览规则集文件才能显示在此属性窗口的下拉列表中)。

然后,您只需在项目/解决scheme上运行代码分析(通过分析>运行代码分析解决scheme – 或 – Alt + F11 ),它将作为警告返回,find任何未引用的方法或未使用的成员。 它甚至会find方法引用的方法,而这些方法本身在其他地方没有引用。

但是要小心,作为代码分析死代码的方法之一可能会导致你错误的是,如果引用是“隐藏”的,只能通过代理调用方法,当然,reflection。

检测死码的规则具体是:

  • 不从任何其他代码调用的私有方法(CA1811)
  • 未使用的本地variables(CA1804)
  • 未使用的私人领域(CA1823)
  • 未使用的参数(CA1801)
  • 没有从任何其他代码实例化的内部类(CA1812)。
  • 按位或限位开关中的死代码(C6259)

下面是.ruleset文件的内容,可以按照上面的步骤进行操作。 您可以简单地复制下面的XML,将其粘贴到记事本++,保存在扩展名为.ruleset的地方,浏览并使用,如上所述:

<?xml version="1.0" encoding="utf-8"?> <RuleSet Name="Dead Code Rules" Description=" " ToolsVersion="12.0"> <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed"> <Rule Id="CA1801" Action="Warning" /> <Rule Id="CA1804" Action="Warning" /> <Rule Id="CA1811" Action="Warning" /> <Rule Id="CA1812" Action="Warning" /> <Rule Id="CA1823" Action="Warning" /> </Rules> <Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native"> <Rule Id="C6259" Action="Warning" /> </Rules> </RuleSet> 

希望这可以帮助你,不要忘记select最好的答案。