.NET 编译器平台(“Roslyn”)分析器的源分析取代了托管代码 的旧分析 。 许多传统分析 (FxCop) 规则已改写为源分析器。
在 Visual Studio 2019 16.8 和 .NET 5.0 之前,这些分析器作为 Microsoft.CodeAnalysis.FxCopAnalyzersNuGet 包提供。
从 Visual Studio 2019 16.8 和 .NET 5.0 开始,这些分析器 包含在 .NET SDK 中。 如果不想移动到 .NET 5+ SDK 或首选基于 NuGet 包的模型,则分析器也可用于 Microsoft.CodeAnalysis.NetAnalyzersNuGet 包。 你可能更喜欢基于包的模型进行按需版本更新。
注释
第一方 .NET 分析器与目标平台无关。 也就是说,项目不需要面向特定的 .NET 平台。 分析器适用于面向 net5.0 及较早 .NET 版本(如 netcoreapp、netstandard 和 net472)的项目。
迁移步骤
从版本 3.3.2开始, Microsoft.CodeAnalysis.FxCopAnalyzers NuGet 包已弃用。 请按照以下步骤将项目或解决方案从 Microsoft.CodeAnalysis.FxCopAnalyzers .NET 分析器迁移到:
卸载
Microsoft.CodeAnalysis.FxCopAnalyzersNuGet 包启用或安装 .NET 分析器。 请注意,无需更改项目的目标平台。
启用其他规则:
Microsoft.CodeAnalysis.NetAnalyzers相比Microsoft.CodeAnalysis.FxCopAnalyzers,启用其他规则要保守得多。 与 FxCopAnalyzers 包不同,它只有一些默认 启用为生成警告的正确性规则。 可以通过自定义 AnalysisMode MSBuild 属性来启用其他规则。 例如,将属性AllEnabledByDefault设置为将默认启用所有适用的 CA 规则作为生成警告。<PropertyGroup> <AnalysisMode>AllEnabledByDefault</AnalysisMode> </PropertyGroup>