VS 2019在线更新到16.10.0后,同时对项目的NUGET包更新了下,然后发现个黄色感叹号提示:从版本 3.3.2 开始 Microsoft.CodeAnalysis.FxCopAnalyzer

VS 2019在线更新到16.10.0后,同时对项目的NUGET包更新了下,然后发现个黄色感叹号提示:从版本 3.3.2 开始 Microsoft.CodeAnalysis.FxCopAnalyzers ,NuGet 包已弃用。

源代码分析对于提高代码质量,学习新的C#语法还是挺有用的,怎么就弃用了呢?

原因:

在 2019 Visual Studio 16.8 和 .NET 5.0 之前,.NET Compiler Platform (Roslyn) 分析器作为 Microsoft.CodeAnalysis.FxCopAnalyzers NuGet包 提供。

从 Visual Studio 2019 16.8 和 .NET 5.0 开始,这些分析器 包含在 .NET SDK 中。 如果不想移动到 .NET 5+ SDK,或者想要使用基于 NuGet 包的模型,则分析器也可在 NuGet 包 Microsoft.CodeAnalysis.NetAnalyzers 中使用

迁移步骤

从版本 3.3.2 开始 Microsoft.CodeAnalysis.FxCopAnalyzers ,NuGet 包已弃用。 请按照以下步骤将项目或解决方案从 Microsoft.CodeAnalysis.FxCopAnalyzers 迁移到 .NET 分析器:

  1. 卸载 Microsoft.CodeAnalysis.FxCopAnalyzers NuGet 包

  2. 启用或安装 .NET 分析器。 请注意,无需更改项目的目标平台。默认就是启用的,你可以到下面位置确认:VS 2019在线更新到16.10.0后,同时对项目的NUGET包更新了下,然后发现个黄色感叹号提示:从版本 3.3.2 开始 Microsoft.CodeAnalysis.FxCopAnalyzer

  3. 启用其他规则: Microsoft.CodeAnalysis.NetAnalyzers 比 更保守 Microsoft.CodeAnalysis.FxCopAnalyzers 。 与 FxCopAnalyzers 包不同,它只有几个正确性规则,这些规则默认作为生成警告 启用。 可以通过 自定义 AnalysisMode MSBuild 属性来启用其他规则。 例如,将 属性设置为 AllEnabledByDefault 将默认启用所有适用的 CA 规则作为生成警告。将下面项目添加到.csproj文件中:

    <PropertyGroup>
      <AnalysisMode>AllEnabledByDefault</AnalysisMode>  
    </PropertyGroup>
上一篇:dotnet 命令行发布与启动


下一篇:容器环境下如何将NuGet包XML文档添加到Swagger