共用方式為


Visual Studio 中 Managed 程式代碼的舊版分析概觀

Visual Studio 可以透過兩種方式執行受控代碼分析:使用 舊版分析,也稱為受控程序集的 FxCop 靜態分析,以及使用更現代化的 .NET 編譯器平台型 代碼分析器。 本主題涵蓋傳統系統分析。 若要深入瞭解 .NET 編譯程式平臺型程序代碼分析,請參閱 .NET 編譯程序平臺分析器概觀

受管代碼的程式分析會對受管元件進行分析,並報告有關元件的信息,例如違反.NET 設計指導方針中設定的程式設計和設計規則。

分析工具將其在分析期間所執行的檢查顯示為警告訊息。 警告訊息會識別任何相關的程式設計與設計問題,並盡可能提供有關如何修正問題的資訊。

備註

Visual Studio 中的 .NET Core 和 .NET Standard 專案不支援舊版分析(靜態程序代碼分析)。 如果您在 msbuild 的 .NET Core 或 .NET Standard 專案上執行程式代碼分析,您會看到類似錯誤的錯誤:CA0055 :無法識別your.dll<的平臺>。 若要分析 .NET Core 或 .NET Standard 專案中的程式代碼,請改用 程式代碼分析器

IDE(集成開發環境)整合

您可以手動或自動對項目執行程式碼分析。

若要在每次建置項目時執行程式碼分析,請在專案的 [ 程序代碼分析 ] 屬性頁上選取選項。 如需詳細資訊,請參閱 如何:啟用和停用自動程序代碼分析

若要在專案上手動執行程式碼分析,請從功能表欄選擇 [分析>執行程式碼分析>],在專案<上>執行程序代碼分析

規則集

Managed 程式代碼的分析規則會分組為 規則集。 您可以使用其中一個Microsoft標準規則集,也可以 建立自定義規則集 以滿足特定需求。

隱藏警告

通常,指出警告不適用是很有用的。 這會告知開發人員,以及其他可能在稍後檢閱程式碼的人,警告已被調查過,然後被隱藏或忽略。

內建隱藏警告是透過自定義屬性實作。 若要隱藏警告,請將 屬性 SuppressMessage 新增至原始程式碼,如下列範例所示:

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1039:ListsAreStrongTyped")]
Public class MyClass
{
   // code
}

如需詳細資訊,請參閱隱藏警告

備註

如果您將專案移轉至 Visual Studio 2019,可能會突然面臨大量的程式代碼分析警告。 如果您尚未準備好修正警告,您可以選擇 [ 分析>組建] 和 [隱藏作用中問題] 來隱藏所有警告。

執行程序代碼分析作為簽入政策的一部分

身為組織,您可能想要要求所有提交都符合特定政策。 特別是,您想要確定您遵循下列原則:

  • 程式碼提交時,沒有任何建置錯誤。

  • 程序代碼分析會在最新的組建中執行。

您可以藉由指定簽入原則來完成這項作業。 如需詳細資訊,請參閱 使用專案簽入原則增強程式代碼品質

團隊建置整合

您可以使用建置系統的整合功能,在建置程式中執行分析工具。 如需詳細資訊,請參閱 Azure Pipelines