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 分析器:
-
卸载
Microsoft.CodeAnalysis.FxCopAnalyzers
NuGet 包 -
启用或安装 .NET 分析器。 请注意,无需更改项目的目标平台。默认就是启用的,你可以到下面位置确认:
-
启用其他规则:
Microsoft.CodeAnalysis.NetAnalyzers
比 更保守Microsoft.CodeAnalysis.FxCopAnalyzers
。 与 FxCopAnalyzers 包不同,它只有几个正确性规则,这些规则默认作为生成警告 启用。 可以通过 自定义 AnalysisMode MSBuild 属性来启用其他规则。 例如,将 属性设置为AllEnabledByDefault
将默认启用所有适用的 CA 规则作为生成警告。将下面项目添加到.csproj文件中:<PropertyGroup> <AnalysisMode>AllEnabledByDefault</AnalysisMode> </PropertyGroup>