Nim*_*ami 114 c# visual-studio-2013 codelens
在visual studio 2013中,Code Lens显示了特殊代码(方法,属性,字段......)的引用数量.我想在visual studio中使用未使用的(零参考)代码.有没有办法得到它们?

Ada*_*ite 160
实现您所需要的最好和最简单的方法可能是使用Visual Studio的内置代码分析工具来查找并直接将您带到死代码和未使用的成员.
为此,我只创建了一个新的代码分析规则集文件(通过文件 - >新建 - >文件,确保选中左窗格中的常规并向下滚动以查找代码分析规则集,为其提供文件名,然后搜索并选择以下规则).请参阅下面的规则集文件的内容,您可以简单地将其复制并粘贴到一个扩展名为.ruleset的新文件中使用.
给定规则集文件,可以在" 解决方案资源管理器"面板中右键单击项目文件,然后选择" 属性".在项目属性窗口中,单击左侧面板中的"代码分析"选项卡,然后单击" 打开"以浏览到.ruleset文件的位置.如果转到解决方案文件的属性(而不是项目文件),则可以在一个位置为解决方案中的每个项目设置代码分析文件(在"代码分析设置"下,并使用下拉列表选择)注意:您之前必须浏览过规则集文件才能显示在此属性窗口的下拉列表中.
然后,您只需在项目/解决方案上运行代码分析(通过分析 - >运行代码分析解决方案 -OR- Alt + F11),它将作为警告,任何未引用的方法或找到的未使用的成员返回.它甚至可以找到方法引用的方法,这些方法本身在其他地方没有引用.
但要小心,因为死代码的代码分析方法之一可以引导你错误,如果引用只是通过委托调用方法来"隐藏",当然还有反射.
具体来说,检测死代码的规则是:
下面是.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>
Run Code Online (Sandbox Code Playgroud)
希望这对您有所帮助,不要忘记选择最佳答案.
小智 11
在 Visual Studio 中 | 错误列表选项卡 | “消息”选项卡:消息 IDE0051 私有成员“xxxxxxxx”未使用。
这是实现此目的的手动方法,我用它来查找标记为公共的未使用的类。
注意:如果您不遵循每个文件一个类的规则,这将需要更多的工作。此外,您需要验证任何 API 服务端点是否未被任何外部项目使用。
小智 5
https://scottlilly.com/c-code-quality-improvement/remove-unused-classes-properties-and-functions/
“不幸的是,[在 Visual Studio 分析中] 您只能检测未使用的私有成员。这是因为代码分析器假定公共成员可能被其他程序使用。如果您通过 Web 服务将它们作为 API 发布,这可能是真的或将您的代码作为库发布。... ReSharper 具有类似的代码分析功能——优势在于检查未使用的公共成员。”
| 归档时间: |
|
| 查看次数: |
54726 次 |
| 最近记录: |