Compartilhar via


Gerenciado regras recomendado conjunto de regras para código gerenciado

Você pode usar a regra de Microsoft Managed recomendado regras definida para enfocar os problemas mais críticos no seu código gerenciado, incluindo possíveis brechas de segurança, travamentos de aplicativos e outros erros de lógica e de design importantes.Você deve incluir essa regra definida em qualquer conjunto de regras personalizadas que você cria para seus projetos.

Regra

Descrição

CA1001

Os tipos que possuem campos descartáveis devem ser descartáveis

CA1009

Declarar os manipuladores de eventos corretamente

CA1016

Assemblies de marca com AssemblyVersionAttribute

CA1033

Métodos de interface devem ser chamados por tipos de filho

CA1049

Os tipos que possuem recursos nativos devem ser descartáveis

CA1060

Mover P/Invokes à classe NativeMethods

CA1061

Não ocultar métodos da classe base

CA1063

Implementar IDisposable corretamente

CA1065

Não aumente exceções em locais inesperados

CA1301

Evite aceleradores duplicados

CA1400

Os pontos de entrada de P/Invoke devem existir.

CA1401

P/Invokes não deverá ser visível

CA1403

Tipos de layout automático não devem ser visível em COM

CA1404

Chamar GetLastError imediatamente após P/Invoke.

CA1405

Tipos base do tipo visível COM devem estar visível em COM

CA1410

Métodos de registro COM devem ser correspondidos.

CA1415

Declarar P/Invokes corretamente

CA1821

Remover os finalizadores vazios

CA1900

Campos do tipo de valor devem ser portátil

CA1901

Declarações P/Invoke devem ser portátil

CA2002

Não bloquear em objetos com identidade fraco

CA2100

Analisar consultas SQL para vulnerabilidades de segurança

CA2101

Especificar o empacotamento para argumentos de seqüência de caracteres de P/Invoke.

CA2108

Revisão de segurança declarativos sobre tipos de valor

CA2111

Ponteiros não deverá ser visíveis

CA2112

Tipos protegidos não devem expor campos

CA2114

A segurança do método deve ser um superconjunto do tipo

CA2116

Métodos APTCA só deverá chamar métodos APTCA

CA2117

Tipos APTCA só devem estender tipos básicos de APTCA

CA2122

Não exponha indiretamente métodos com as demandas de link

CA2123

As demandas de link de substituição devem ser idênticas para basear

CA2124

Quebra automática de linha vulnerável finalmente tente cláusulas no exterior

CA2126

As demandas de link do tipo exigem demandas de herança

CA2131

Tipos de críticos de segurança não podem participar de equivalência de tipo

CA2132

Construtores padrão devem ser pelo menos tão importantes como construtores do tipo base padrão

CA2133

Delegados devem ligar para métodos com transparência consistente

CA2134

Métodos devem manter a transparência consistente quando os métodos base

CA2137

Métodos transparentes devem conter apenas IL verificável

CA2138

Métodos transparentes não devem chamar métodos com o atributo SuppressUnmanagedCodeSecurity

CA2140

Código Transparent não deve fazer referência a itens essenciais de segurança

CA2141

Métodos transparentes não devem atender a LinkDemands

CA2146

Os tipos devem ser pelo menos, tão importantes quanto seus tipos base e interfaces

CA2147

Métodos transparentes não podem usar a segurança asserts

CA2149

Métodos transparentes não devem chamar código nativo

CA2200

Relançar para preservar os detalhes de pilha

CA2202

Não dispor objetos várias vezes

CA2207

Inicializar o tipo de valor campos estáticos in-line

CA2212

Não marque os componentes de serviço com WebMethod

CA2213

Campos descartáveis devem ser descartados.

CA2214

Não chamar métodos substituíveis em construtores

CA2216

Tipos descartáveis devem declarar o finalizador

CA2220

Os finalizadores devem chamar o finalizador da classe base

CA2229

Implementar os construtores de serialização

CA2231

Sobrecarga de operador é igual a sobre a anulação de ValueType.Equals

CA2232

Pontos de entrada da marca Windows Forms com STAThread

CA2235

Marcar todos os campos não serializáveis

CA2236

Chamar métodos da classe base em tipos ISerializable

CA2237

Tipos de ISerializable de marca com o SerializableAttribute

CA2238

Implementar métodos de serialização corretamente

CA2240

Implementa ISerializable corretamente

CA2241

Fornecer argumentos corretos para métodos de formatação.

CA2242

Testar NaN corretamente