Wyłączanie analizy kodu źródłowego dla platformy .NET

Program Visual Studio umożliwia kontrolowanie, czy analizatory kodu źródłowego działają w czasie kompilacji i czasie projektowania. Istnieją ograniczenia dotyczące tego, co można wyłączyć, a procedura wyłączania analizy kodu różni się w zależności od kilku czynników:

  • Typ projektu (.NET Core, .NET Standard i .NET 5+ a .NET Framework)

    Projekty .NET Core, .NET Standard i .NET 5+ mają opcje na stronie właściwości analizy kodu, które umożliwiają wyłączenie analizy kodu z analizatorów zainstalowanych jako pakiet NuGet. Aby uzyskać więcej informacji, zobacz projekty .NET Core, .NET Standard i .NET 5+. Z kolei projekty programu .NET Framework wymagają ustawienia właściwości w pliku projektu. Aby wyłączyć analizę kodu źródłowego dla projektów .NET Framework, zobacz Projekty programu .NET Framework.

  • Analiza źródła a starsza analiza

    Ten artykuł dotyczy analizy kodu źródłowego, a nie do starszej (binarnej) analizy. Aby uzyskać informacje na temat wyłączania starszej analizy, zobacz Włączanie i wyłączanie analizy kodu binarnego dla kodu zarządzanego.

Projekty .NET Core, .NET Standard i .NET 5+

Program Visual Studio 2022 w wersji 17.0.4 lub nowszej zawiera dwa pola wyboru na stronie właściwości Analiza kodu w celu kontrolowania, czy analizatory działają w czasie kompilacji i czasie projektowania. Aby wyłączyć analizę kodu w projekcie, wykonaj następujące kroki:

  1. Kliknij prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań, a następnie wybierz polecenie Właściwości.

  2. Wybierz pozycję Analiza kodu.

    Zostanie otwarta strona właściwości analizy kodu.

    Zrzut ekranu przedstawiający stronę właściwości analizy kodu.

  3. Aby wyłączyć analizę źródłową w czasie kompilacji, w obszarze Uruchom przy kompilacji wyczyść pole Zawsze uruchamiaj analizę kodu na kompilacji.

  4. Aby wyłączyć analizę źródła na żywo, w obszarze Uruchom przy analizie na żywo wyczyść pole Uruchom analizę kodu na żywo w edytorze podczas wpisywania.

Uwaga

Począwszy od programu Visual Studio 2022 w wersji 17.0.4, jeśli wolisz przepływ pracy wykonywania analizy kodu na żądanie, możesz wyłączyć wykonywanie analizatora podczas analizy na żywo. Możesz też utworzyć i ręcznie wyzwolić analizę kodu raz w projekcie lub rozwiązaniu na żądanie. Aby uzyskać informacje na temat ręcznego uruchamiania analizy kodu, zobacz Ręczne uruchamianie analizy kodu dla platformy .NET.

Projekty programu .NET Framework

Aby wyłączyć analizę kodu źródłowego dla analizatorów, dodaj do pliku projektu co najmniej jedną z następujących właściwości programu MSBuild.

Właściwość MSBuild opis Wartość domyślna
RunAnalyzersDuringBuild Określa, czy analizatory działają w czasie kompilacji. true
RunAnalyzersDuringLiveAnalysis Określa, czy analizatory analizują kod na żywo w czasie projektowania. true
RunAnalyzers Ustawienie tej właściwości w celu false wyłączenia analizatorów zarówno w czasie kompilacji, jak i projektowania. Ma pierwszeństwo przed elementami RunAnalyzersDuringBuild i RunAnalyzersDuringLiveAnalysis. true

Na przykład:

<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>

Ta strona umożliwia wyłączenie analizy kodu w programie Visual Studio. Istnieją ograniczenia dotyczące tego, co można wyłączyć, a procedura wyłączania analizy kodu różni się w zależności od kilku czynników:

  • Typ projektu (.NET Core, .NET Standard i .NET 5+ a .NET Framework)

    Projekty .NET Core, .NET Standard i .NET 5+ mają opcje na stronie właściwości analizy kodu, które umożliwiają wyłączenie analizy kodu z analizatorów zainstalowanych jako pakiet NuGet. Aby uzyskać więcej informacji, zobacz projekty .NET Core, .NET Standard i .NET 5+. Aby uzyskać informacje na temat wyłączania analizy kodu źródłowego w projektach programu .NET Framework, zobacz Projekty programu .NET Framework.

  • Analiza źródła a starsza analiza

    Ten artykuł dotyczy analizy kodu źródłowego, a nie do starszej (binarnej) analizy. Aby uzyskać informacje na temat wyłączania starszej analizy, zobacz Włączanie i wyłączanie analizy kodu binarnego dla kodu zarządzanego.

Projekty .NET Core, .NET Standard i .NET 5+

Program Visual Studio 2019 w wersji 16.3 lub nowszej udostępnia dwa pola wyboru na stronie właściwości Analizy kodu, które umożliwiają kontrolowanie, czy analizatory są uruchamiane w czasie kompilacji i czasie projektowania. Te opcje są specyficzne dla projektu.

Zrzut ekranu przedstawiający stronę właściwości analizy kodu.

Aby otworzyć tę stronę, kliknij prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań i wybierz polecenie Właściwości. Wybierz kartę Analiza kodu.

  • Aby wyłączyć analizę źródłową w czasie kompilacji, wyczyść opcję Uruchom w kompilacji .
  • Aby wyłączyć analizę źródła na żywo, wyczyść opcję Uruchom przy analizie na żywo.

Uwaga

Począwszy od programu Visual Studio 2019 w wersji 16.5, jeśli wolisz przepływ pracy wykonywania analizy kodu na żądanie, możesz wyłączyć wykonywanie analizatora podczas analizy na żywo. Możesz też utworzyć i ręcznie wyzwolić analizę kodu raz w projekcie lub rozwiązaniu na żądanie. Aby uzyskać informacje na temat ręcznego uruchamiania analizy kodu, zobacz Ręczne uruchamianie analizy kodu dla platformy .NET.

Projekty programu .NET Framework

Aby wyłączyć analizę kodu źródłowego dla analizatorów, dodaj do pliku projektu co najmniej jedną z następujących właściwości programu MSBuild.

Właściwość MSBuild opis Wartość domyślna
RunAnalyzersDuringBuild Określa, czy analizatory działają w czasie kompilacji. true
RunAnalyzersDuringLiveAnalysis Określa, czy analizatory analizują kod na żywo w czasie projektowania. true
RunAnalyzers Ustawienie tej właściwości w celu false wyłączenia analizatorów zarówno w czasie kompilacji, jak i projektowania. Ma pierwszeństwo przed elementami RunAnalyzersDuringBuild i RunAnalyzersDuringLiveAnalysis. true

Na przykład:

<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>