從舊版分析 (FxCop) 移轉至來源分析 (.NET 分析器)

.NET Compiler Platform ("Roslyn") 分析器的來源分析取代了受控程式碼的舊版分析。 對於較新的專案範本,例如 .NET Core 和 .NET Standard 專案,無法使用舊版分析。

許多舊版分析 (FxCop) 規則已針對 .NET 分析器 (一組 Roslyn 程式碼分析器) 重寫。 FxCop 分析器會在編譯器執行期間執行以原始程式碼為基礎的分析。 分析器結果會與編譯器結果一併回報。

如需有關舊版分析與來源分析之間差異的詳細資訊,請參閱下列內容:

遷移

若要移轉至來源分析:

  1. 啟用或安裝 .NET 分析器。 與舊版分析規則違規相似,原始程式碼分析違規會出現在 Visual Studio 的 [錯誤清單] 視窗中。 此外,原始程式碼分析違規也會在程式碼編輯器中,於違規程式碼下方顯示為「波浪線」。 波形曲線色彩取決於規則的嚴重性設定。 若要查看規則移植到新 .NET 分析器後的狀態,請參閱已移植和未移植規則

    注意

    在 Visual Studio 2019 16.8 和 .NET 5.0 之前,這些分析器會作為 Microsoft.CodeAnalysis.FxCopAnalyzersNuGet 套件提供。 從 Visual Studio 2019 16.8 和 .NET 5.0 開始,.NET SDK 中隨附這些分析器。 其也可作為 Microsoft.CodeAnalysis.NetAnalyzersNuGet 套件提供。 如需詳細資訊,請參閱 從 FxCop 分析器移轉至 .NET 分析器

  2. 若要解決 CA0507,請確定已停用專案的舊版程式碼分析。 在專案檔中,將 RunCodeAnalysis 屬性設定為 false:

    <RunCodeAnalysis>false</RunCodeAnalysis>

    或者,開啟 [專案屬性]>[程式碼分析],然後停用 [建置時執行] 設定。

組態

若要深入了解如何設定 .NET 分析器:

  • 若要設定 .NET 分析器,請參閱設定 .NET 分析器

  • 若要了解如何搭配 EditorConfig 或規則集檔案,使用預先定義的規則來設定分析器,請參閱啟用規則類別