Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met .NET-compilerplatformanalyses (Roslyn) inspecteert u uw C# of Visual Basic-code voor stijl, kwaliteit, onderhoudbaarheid, ontwerp en andere problemen. Deze inspectie of analyse vindt plaats tijdens de ontwerptijd in alle geopende bestanden.
Analyzers zijn onderverdeeld in de volgende groepen:
-
Deze analyses zijn ingebouwd in Visual Studio. De diagnostische ID van de analyzer, of het codeformaat, is IDExxxx, bijvoorbeeld IDE0001. U kunt voorkeuren configureren op de pagina met opties voor teksteditor of in een EditorConfig-bestand. Vanaf .NET 5.0 worden codestijlanalyses opgenomen in de .NET SDK en kunnen ze strikt worden afgedwongen als buildwaarschuwingen of -fouten. Zie Overzicht van .NET-broncodeanalyse voor meer informatie.
-
Deze analyses zijn opgenomen in de .NET 5.0 en hoger SDK en zijn standaard ingeschakeld. De diagnostische id van de analyzer, of het codeformaat, is CAxxxx, bijvoorbeeld CA1822. Zie Overzicht van de kwaliteitsanalyse van .NET-code voor meer informatie.
Externe analyseapparaten
Voorbeelden van externe analyse zijn StyleCop, Roslynator, xUnit Analyzers en Sonar Analyzer. U kunt deze analyzers installeren als een NuGet-pakket of een Visual Studio-extensie.
Ernstniveaus van analysen
Elke Roslyn analyzer-regel of diagnostic heeft een standaard ernstniveau en onderdrukstatus die u naar uw project kunt aanpassen.
Ernstniveaus zijn onder andere: Fout, Waarschuwing, Suggestie, Stil, Geen en Standaard. Zie Ernstniveaus configureren voor gedetailleerde informatie en gedrag.
Regelschendingen
Als een analyzer schendingen van analyseregels vindt, worden deze in het venster Foutenlijst en in de code-editor gerapporteerd.
In de volgende schermopname ziet u regelschendingen die zijn gerapporteerd in het venster Foutenlijst . De analyseschendingen die in de lijst met fouten zijn gerapporteerd, komen overeen met de instelling van het ernstniveau van de regel:
De schendingen van de analyseregel worden ook weergegeven in de code-editor als golvende regels onder de offending-code. In de volgende schermopname ziet u bijvoorbeeld drie schendingen: één fout (rode golvende lijn), één waarschuwing (groene golvende lijn) en één suggestie (drie grijze stippen):
Oplossingen voor code
Veel diagnostische gegevens hebben een of meer gekoppelde codecorrecties die u kunt toepassen om de schending van de regel te corrigeren. Codecorrecties worden weergegeven in het pictogrammenu van de gloeilamp, samen met andere typen snelle acties. Zie Algemene snelle acties voor meer informatie over codecorrecties.
Ernstniveaus voor analyse configureren
U kunt de ernst van analyseregels configureren in een EditorConfig-bestand of in het gloeilampmenu.
U kunt ook analyzers configureren om code tijdens het bouwen te inspecteren en terwijl u typt. U kunt het bereik van live codeanalyse configureren om alleen voor het huidige document uit te voeren, alle geopende documenten of de hele oplossing. Zie Live Code-analyse configureren voor .NET voor meer informatie.
Aanbeveling
Build-time fouten en waarschuwingen van code-analyzers worden alleen weergegeven als de analyzers zijn geïnstalleerd als een NuGet-pakket. De ingebouwde analyses (bijvoorbeeld IDE0067 en IDE0068) worden nooit uitgevoerd tijdens de build.
Externe codeanalyse-installaties uitvoeren
Visual Studio bevat een kernset Roslyn-analyses, die altijd actief zijn. Als u meer codeanalyses nodig hebt, kunt u externe analyses voor elk project installeren via een NuGet-pakket. Sommige analyses zijn ook beschikbaar als een Visual Studio VSIX-extensie , in welk geval ze van toepassing zijn op elke oplossing die u opent in Visual Studio. Zie Code analyzers installeren voor meer informatie over het installeren van deze twee verschillende typen analyses.
Omvang
Als u een analyzer installeert als een NuGet-pakket, is de voorkeursmethode alleen van toepassing op het project waarin het NuGet-pakket is geïnstalleerd. Als u een analyzer als Visual Studio-extensie installeert, is dit van toepassing op oplossingsniveau en op alle exemplaren van Visual Studio. In teamomgevingen is een analyzer die je als een NuGet-pakket installeert in het bereik van alle ontwikkelaars die aan dat project werken.
Opmerking
Eigen analyzers worden meegeleverd met de .NET SDK. Het verdient de voorkeur dat u deze analyses inschakelt vanuit de .NET SDK in plaats van ze te installeren als een Microsoft.CodeAnalysis.NetAnalyzers
NuGet-pakket. Als u de analyses inschakelt vanuit de .NET SDK, zorgt u ervoor dat u automatisch analysefoutoplossingen en nieuwe analyseoplossingen krijgt zodra u de SDK bijwerkt. Zie .NET Analyzers van derden in- of installeren voor meer informatie over analyse.
Buildfouten
Als u de regels tijdens de build wilt afdwingen, kiest u een van de volgende opties met behulp van een opdrachtregel- of CI-builds (continue integratie):
Maak een .NET 5.0- of hogerproject, waardoor codeanalyse standaard mogelijk is. Als u codeanalyse wilt inschakelen voor projecten die zich richten op eerdere .NET-versies, stelt u de eigenschap EnableNETAnalyzers in op
true
.Installeer de analyzers als een NuGet-pakket. Als u de analyzers installeert als een Visual Studio-extensie, worden analysewaarschuwingen en -fouten niet weergegeven in het buildrapport.
In de volgende schermopname ziet u de commandoregeluitvoer van een project met een overtreding van de analyseringsregel:
Ernst van regel
Als u de ernst van de analyseregel wilt configureren, moet u de analyzer installeren als een NuGet-pakket. U kunt de ernst van regels niet configureren vanuit analysen die zijn geïnstalleerd als een Visual Studio-extensie.