Pergunta

É possível excluir um espaço de nomes completos de todas as análises FxCop enquanto ainda analisando o resto da montagem usando a SuppressMessageAttribute?

No meu caso atual, eu tenho um monte de classes geradas pelo LINQ to SQL que causam uma série de questões FxCop, e, obviamente, eu não irá modificar todos aqueles para corresponder aos padrões FxCop, como muitas dessas modificações seria ido se eu re-gerado as classes.

Eu sei que FxCop tem uma opção de projeto para análise suprimir em código gerado, mas não parecem reconhecer as classes de entidade e contexto criados por LINQ 2 SQL como código gerado.

Foi útil?

Solução

Se você marcar suas aulas com o atributo [GeneratedCode], você pode usar o sinalizador / ignoregeneratedcode com FxCop conforme descrito neste post MSDN:

FAQ: Como posso evitar que o FxCop de disparar avisos contra o código gerado

Você pode ter que adicionar um novo arquivo de código e implementar novas classes parciais lá para adicionar o atributo para as classes:

[GeneratedCode]
public partial class MainDataContext { }

Apenas certifique-se adicionar tudo para o namespace correto ao criar seu novo arquivo.

Outras dicas

Adicionar um [GeneratedCode] attribute ao classes.
Editar :. Eu quis classes parciais com os mesmos nomes, como explica a outra resposta

Use o atributo de código gerado, heres o Blog Post da equipe de análise de código sobre o assunto.

Este, na parte superior do espaço de nomes deve fazer o truque:

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

declaração Coloque em GlobalSuppressions.vb na raiz do projeto.

Tudo o que tenho é VB exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top