Freigeben über


Regelsatz für verwaltete empfohlene Regeln für verwalteten Code

Verwenden Sie den Regelsatz für von Microsoft verwaltete empfohlene Regeln, um sich auf die kritischsten Probleme in Ihrem verwalteten Code zu konzentrieren, einschließlich potenzieller Sicherheitslücken, Anwendungsabstürze und anderer wichtiger Logik- und Entwurfsfehler. Dieser Regelsatz enthält alle Regeln des Regelsatzes Von Microsoft verwaltete Mindestregeln.

Schließen Sie diesen Regelsatz in alle benutzerdefinierten Regelsätze ein, die Sie für Ihre Projekte erstellen.

Regel BESCHREIBUNG
CA1001 Typen, die löschbare Felder besitzen, müssen gelöscht werden können.
CA1009 Ereignishandler korrekt deklarieren.
CA1016 Assemblys mit AssemblyVersionAttribute markieren.
CA1033 Schnittstellenmethoden sollten von untergeordneten Typen aufgerufen werden können.
CA1049 Typen, die native Ressourcen besitzen, müssen gelöscht werden können.
CA1060 P/Invokes in NativeMethods-Klasse verschieben.
CA1061 Basisklassenmethoden nicht ausblenden.
CA1063 IDisposable korrekt implementieren.
CA1065 Keine Ausnahmen an unerwarteten Speicherorten auslösen.
CA1301 Doppelte Zugriffstasten vermeiden.
CA1400 Für P/Invoke müssen Einstiegspunkte vorhanden sein.
CA1401 P/Invokes dürfen nicht sichtbar sein.
CA1403 Typen mit automatischem Layout sollten nicht für COM sichtbar sein.
CA1404 GetLastError unmittelbar nach P/Invoke aufrufen.
CA1405 Für COM sichtbare Basistypen sollten für COM sichtbar sein.
CA1410 Die COM-Registrierungsmethoden müssen übereinstimmen.
CA1415 P/Invokes korrekt deklarieren.
CA1821 Leere Finalizer entfernen.
CA1900 Werttypfelder sollten portabel sein.
CA1901 Deklarationen von P/Invoke müssen portabel sein.
CA2002 Auf Objekten mit schwacher Identität nicht sperren.
CA2100 SQL-Abfragen auf Sicherheitsrisiken überprüfen.
CA2101 Marshalling für P/Invoke-Zeichenfolgenargumente festlegen.
CA2108 Deklarative Sicherheit auf Werttypen überprüfen.
CA2111 Zeiger sollten nicht sichtbar sein.
CA2112 Gesicherte Typen sollten keine Felder verfügbar machen.
CA2114 Methodensicherheit sollte Superset des Typs sein.
CA2116 APTCA-Methoden sollten nur APTCA-Methoden aufrufen.
CA2117 APTCA-Typen sollten nur APTCA-Basistypen erweitern.
CA2122 Methoden mit Linkaufrufen nicht indirekt verfügbar machen.
CA2123 Überschreibungslinkaufrufe sollten mit der Basis identisch sein.
CA2124 Anfällige finally-Klauseln mit äußerem try-Block umschließen.
CA2126 Typlinkaufrufe erfordern Vererbungsanforderungen.
CA2131 Sicherheitskritische Typen dürfen nicht an Typäquivalenz beteiligt sein.
CA2132 Standardkonstruktoren müssen mindestens so kritisch sein wie die Standardkonstruktoren des Basistyps.
CA2133 Delegaten müssen an Methoden mit konsistenter Transparenz gebunden werden.
CA2134 Methoden müssen beim Überschreiben von Basismethoden eine konsistente Transparenz wahren.
CA2137 Transparente Methoden dürfen nur überprüfbare IL enthalten.
CA2138 Transparente Methoden dürfen keine Methoden mit dem SuppressUnmanagedCodeSecurity-Attribut aufrufen.
CA2140 Transparenter Code darf nicht auf sicherheitskritische Elemente verweisen.
CA2141 Transparente Methoden dürfen keine LinkDemands erfüllen.
CA2146 Typen müssen mindestens genauso kritisch sein wie ihre Basistypen und Schnittstellen.
CA2147 Transparente Methoden dürfen keine Sicherheitsassertionen verwenden.
CA2149 Transparente Methoden dürfen keine Aufrufe in nativen Code durchführen.
CA2200 Erneut ausführen, um Stapeldetails beizubehalten.
CA2202 Objekte nicht mehrmals verwerfen.
CA2207 Statische Felder für Werttyp inline initialisieren.
CA2212 ServicedComponents nicht mit WebMethod markieren.
CA2213 Verwerfbare Felder verwerfen.
CA2214 Überschreibbare Methoden in Konstruktoren nicht aufrufen.
CA2216 Verwerfbare Typen sollten einen Finalizer deklarieren.
CA2220 Finalizer sollten Basisklassen-Finalizer aufrufen.
CA2229 Serialisierungskonstruktoren implementieren.
CA2231 Überladen Sie den Gleichheitsoperator beim Überschreiben von ValueType.Equals.
CA2232 Windows Forms-Einstiegspunkte mit STAThread markieren.
CA2235 Alle nicht serialisierbaren Felder markieren.
CA2236 Basisklassenmethoden auf ISerializable-Typen aufrufen.
CA2237 ISerializable-Typen mit SerializableAttribute markieren.
CA2238 Serialisierungsmethoden korrekt implementieren.
CA2240 ISerializable ordnungsgemäß implementieren.
CA2241 Geben Sie die korrekte Anzahl für Formatierungsmethoden an.
CA2242 Ordnungsgemäß auf NaN testen.