從 NuGet FxCop 分析器移轉至 .NET 分析器

.NET Compiler Platform ("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 為目標的專案,例如 netcoreappnetstandardnet472

移轉步驟

從版本 3.3.2 開始,Microsoft.CodeAnalysis.FxCopAnalyzers NuGet 套件已被取代。 請遵循下列步驟,將專案或解決方案從 Microsoft.CodeAnalysis.FxCopAnalyzers 移轉至 .NET 分析器:

  1. 解除安裝 Microsoft.CodeAnalysis.FxCopAnalyzers NuGet 套件

  2. 啟用或安裝 .NET 分析器。 請注意,您不需要變更專案的目標平台。

  3. 啟用其他規則:Microsoft.CodeAnalysis.NetAnalyzers 相較於 Microsoft.CodeAnalysis.FxCopAnalyzers,更為保守。 不同於 FxCopAnalyzers 套件,它只有一些預設會啟用為建置警告的正確性規則。 您可以自訂 AnalysisMode MSBuild 屬性,以啟用其他規則。 例如,將屬性設為 AllEnabledByDefault 預設會啟用所有適用的 CA 規則作為建置警告。

    <PropertyGroup>
      <AnalysisMode>AllEnabledByDefault</AnalysisMode>
    </PropertyGroup>