我一直在一个仅包含 的解决方案中进行了大量实验。 .NET 核心 3.1 项目,我注意到结果有很多不必要/未使用的代码。
有没有办法列出我的解决方案中没有在其他任何地方引用的所有代码?
我知道 Visual Studio 2019 具有 CodeLens 功能,可以显示是否引用了一段代码,但手动检查每个文件显然不是我想要的。
在旧版 Visual Studio 的现有答案中,FxCop tool被多次提及,但正如您在 Microsoft 页面上看到的那样,它不再更新。我也尝试运行 Code Analysis在我的解决方案上,但由于我无法为我的解决方案配置分析参数,这也没有任何意义。我什至尝试在项目级别配置代码分析,但 Visual Studio 没有将我的项目识别为分析的候选对象。
最佳答案
您可以使用来自 this answer 的规则集让您的 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>
编辑:您可以使用 this step by step guide构建您的规则集。编辑 2:由于分步指南已经过时,这里有一种激活所需规则的新方法:
编辑 3:我们将保留规则集,但事实证明我有一个旧项目和新项目,您需要执行以下操作:
Microsoft.CodeAnalysis.NetAnalyzers
来自 NuGet(不推荐使用 FxCop).editorconfig
给你解决方案[*.cs]
dotnet_diagnostic.CA1822.severity = error
在 editorconfig 文件中激活它们。
关于c# - 列出 Visual Studio 2019 中未引用的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64152878/