Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser exemplarischen Vorgehensweise analysieren Sie mit dem Codeanalysetool ein verwaltetes Projekt, um Codefehler zu ermitteln.
Sie werden Schritt für Schritt durch den Vorgang der Codeanalyse geführt, bei der Sie .NET-Assemblys mit verwaltetem Code im Hinblick auf die Einhaltung der Microsoft .NET Framework-Entwurfsrichtlinien überprüfen.
In dieser exemplarischen Vorgehensweise führen Sie folgende Schritte aus:
- Analysieren von Codefehlerwarnungen und Beheben der Fehler
Vorbereitungsmaßnahmen
- Visual Studio Premium.
Erstellen einer Klassenbibliothek
So erstellen Sie eine Klassenbibliothek |
|
Analysieren des Projekts
So analysieren Sie ein verwaltetes Projekt auf Codefehler
Wählen Sie im Projektmappen-Explorer das Projekt CodeAnalysisManagedDemo aus.
Klicken Sie im Menü Projekt auf Eigenschaften.
Die Eigenschaftenseite für CodeAnalysisManagedDemo wird angezeigt.
Klicken Sie auf Codeanalyse.
Überprüfen Sie, ob Aktivieren Codeanalyse beim Erstellen aktivieren (definiert CODE_ANALYSIS-Konstante) überprüft wird.
Wählen Sie aus der Dropdownliste Diesen Regelsatz ausführen die Option Alle Microsoft-Regeln aus.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern, und schließen Sie dann die Eigenschaftenseiten für ManagedDemo.
Klicken Sie im Menü Erstellen auf ManagedDemo erstellen.
Die Buildwarnungen zum Projekt CodeAnalysisManagedDemo werden in den Fenstern Codeanalyse und Ausgabe gemeldet.
Wenn das Fenster Codeanalyse, nicht im Menü Analysieren wird, wählen Sie dann wählen Sie Codeanalyse ausFenster aus.
Korrigieren der Codeanalyseprobleme
So korrigieren Sie Verletzungen der Codeanalyseregeln
Klicken Sie im Menü Ansicht auf Fehlerliste.
Je nach ausgewähltem Entwicklerprofil müssen Sie im Menü Ansicht möglicherweise zuerst auf Weitere Fenster zeigen, bevor Sie auf Fehlerliste klicken können.
Klicken Sie im Projektmappen-Explorer auf Alle Dateien anzeigen.
Erweitern Sie den Knoten Eigenschaften, und öffnen Sie dann die Datei AssemblyInfo.cs.
Korrigieren Sie die den folgenden Warnungen zugrunde liegenden Fehler anhand der Angaben in der folgenden Tabelle:
Warnungen |
Fehlerkorrektur |
|---|---|
CA1014: Assemblys mit CLSCompliantAttribute markieren: Microsoft.Design: 'demo' sollte mit CLSCompliantAttribute markiert sein, und der Wert sollte True sein. |
|
CA1032: Standardausnahmekonstruktoren implementieren: Microsoft.Design: Fügen Sie dieser Klasse den folgenden Konstruktor hinzu: public demo(String) |
|
CA1032: Standardausnahmekonstruktoren implementieren: Microsoft.Design: Fügen Sie dieser Klasse den folgenden Konstruktor hinzu: public demo(String, Exception) |
|
CA1032: Standardausnahmekonstruktoren implementieren: Microsoft.Design: Fügen Sie dieser Klasse den folgenden Konstruktor hinzu: protected demo(SerializationInfo, StreamingContext) |
|
CA1032: Standardausnahmekonstruktoren implementieren: Microsoft.Design: Fügen Sie dieser Klasse den folgenden Konstruktor hinzu: public demo() |
|
CA1709: Bei Bezeichnern sollte die Groß-/Kleinschreibung beachtet werden: Microsoft.Naming: Korrigieren Sie die Groß-/Kleinschreibung des Namespacenamens 'testCode' in 'TestCode'. |
|
CA1709: Bei Bezeichnern sollte die Groß-/Kleinschreibung beachtet werden: Microsoft.Naming: Korrigieren Sie die Groß-/Kleinschreibung des Typnamens 'demo' in 'Demo'. |
|
CA1709: Bei Bezeichnern sollte die Groß-/Kleinschreibung beachtet werden: Microsoft.Naming: Korrigieren Sie die Groß-/Kleinschreibung des Membernamens 'item' in 'Item'. |
|
CA1710: Bezeichner sollten ein richtiges Suffix aufweisen: Microsoft.Naming: Benennen Sie 'testCode.demo' so um, dass die Endung 'Exception' lautet. |
|
CA2210: Assemblys müssen gültige starke Namen aufweisen: Signieren Sie 'ManagedDemo' mit einem Schlüssel mit starkem Namen. |
|
CA2237: Markieren von ISerializable-Typen mit SerializableAttribute: Microsoft.Usage: Fügen Sie 'demo' [Serializable] hinzu, da dieser Typ ISerializable implementiert. |
|
Nachdem Sie die Änderungen ausführen, sollte die Datei Class1.cs wie folgt aussehen:
//CodeAnalysisManagedDemo
//Class1.cs
using System;
using System.Runtime.Serialization;
namespace TestCode
{
[Serializable()]
public class DemoException : Exception
{
public DemoException () : base() { }
public DemoException(String s) : base(s) { }
public DemoException(String s, Exception e) : base(s, e) { }
protected DemoException(SerializationInfo info, StreamingContext context) : base(info, context) { }
public static void Initialize(int size) { }
protected static readonly int _item;
public static int Item { get { return _item; } }
}
}
Ausschließen von Codeanalysewarnungen
So schließen Sie Codefehlerwarnungen aus
Für jede der verbleibenden Warnungen, sind folgende:
Im Codeanalysefenster wählen Sie die Warnung.
Wählen Sie Aktionen aus, und wählen Sie Meldung unterdrücken und wählen Sie dann In Projektunterdrückungsdatei aus.
Weitere Informationen finden Sie unter Gewusst wie: Unterdrücken von Warnungen über das Menüelement
Erstellen Sie das Projekt neu.
Das Projekt wird ohne Warnungen oder Fehler erstellt.