繁体   English   中英

列出 Visual Studio 2019 中未引用的文件?

[英]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:由于分步指南已经过时,这里有一种激活所需规则的新方法:

  1. 转到项目的属性页面(右键单击 -> 属性)
  2. 转到“代码分析”,最后一个选项卡
  3. 点击“配置”
  4. 输入“未使用”并激活您想要的所有规则
  5. 在右侧,可选择将操作设置为“错误”以获得额外注意
  6. 保存(ctrl+s)

编辑 3:我们将保留规则集,但事实证明我有一个旧项目和新项目,您需要执行以下操作:

  1. 如果您的目标框架低于 .NET5,请从 NuGet 安装Microsoft.CodeAnalysis.FxCopAnalyzers Microsoft.CodeAnalysis.NetAnalyzers不推荐使用 FxCop

  2. 如果您还没有,请将文件.editorconfig添加到您的解决方案中

  3. 像这样启用你想要的规则:

    [*.cs]

    dotnet_diagnostic.CA1822.severity = error

在 editorconfig 文件中激活它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM