[英]How to get list of zero-reference/unreferenced code in Visual Studio
[英]List unreferenced files in Visual Studio 2019?
我在仅包含.NET Core 3.1项目的解决方案中进行了大量试验,结果我注意到有很多不必要/未使用的代码。
我知道 Visual Studio 2019 具有 CodeLens 功能,可以显示是否引用了一段代码,但手动检查每个文件显然不是我想要的。
在旧版本 Visual Studio 的现有答案中, 经常提到FxCop 工具,但正如您在 Microsoft 页面上看到的那样,它不再更新。 我还尝试在我的解决方案上运行代码分析,但由于我无法为我的解决方案配置分析参数,这也没有任何意义。 我什至尝试在项目级别配置代码分析,但 Visual Studio 没有将我的项目识别为分析的候选对象。
您可以使用此答案中的规则集让您的 CodeAnalysis 向您显示未使用的代码:
<?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>
编辑:您可以使用此分步指南来构建您的规则集。
编辑 2:由于分步指南已经过时,这里有一种激活所需规则的新方法:
编辑 3:我们将保留规则集,但事实证明我有一个旧项目和新项目,您需要执行以下操作:
如果您的目标框架低于 .NET5,请从 NuGet 安装Microsoft.CodeAnalysis.FxCopAnalyzers Microsoft.CodeAnalysis.NetAnalyzers
(不推荐使用 FxCop )
如果您还没有,请将文件.editorconfig
添加到您的解决方案中
像这样启用你想要的规则:
[*.cs]
dotnet_diagnostic.CA1822.severity = error
在 editorconfig 文件中激活它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.