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>