Pergunta

No início de um arquivo em C#, eu adicionei:

//-----------------------------------------------------------------------
// <copyright company="SomeCompany" file="MyFile.cs">
// Copyright © Some Company, 2011
// </copyright>
// <auto-generated />
//-----------------------------------------------------------------------

Eu quero StyleCop para ignorar a verificação de este arquivo, então eu usei o auto-generated truque explicado na outras respostas.

No entanto, após a limpeza e reconstrução da minha solução, StyleCop mantém gerando avisos para este ficheiro.Por que isso acontece?Como ele pode ser corrigido?

Eu estou usando o Microsoft Visual Studio 2008 Professional Edition e o StyleCop v4.3.

Foi útil?

Solução

@Frédéric - infelizmente, Analyze generated files a opção é não de alguma forma ligado com a ignorar arquivos com <auto-generated /> etiqueta.

Os arquivos que contém <auto-generated /> o texto será sempre ignorada, independentemente do valor do ajuste.

@Daniel - eu acredito que você lidar com um bug na versão 4.3, que foi lançado há mais de um ano atrás, e é definitivamente obsoleto agora.A única razão para usar 4.3 é somente se você usar o Visual Studio 2005, o que não é suportado pelo StyleCop 4.4.

Eu recomendo fortemente que você atualizar para 4.4 - acabei de verificado o seu exemplo e ele funciona muito bem.

Outras dicas

Você pode definir exclusões de arquivo dentro do Settings.StyleCop arquivo.O arquivo está localizado em sua solução de projeto / ou em seu StyleCop diretório de instalação.

Em seguida, você pode usar regex dentro do Parser definições para definir os arquivos que você deseja ignorar

<Parsers>
  <Parser ParserId="Microsoft.StyleCop.CSharp.CsParser">
    <ParserSettings>
      <BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty>
      <CollectionProperty Name="GeneratedFileFilters">
        <Value>\.g\.cs$</Value>
        <Value>\.generated\.cs$</Value>
        <Value>\.g\.i\.cs$</Value>
        <Value>codegen.*\.cs$</Value>
      </CollectionProperty>
    </ParserSettings>
  </Parser>
</Parsers>

Neste caso eu queira ignorar codegen.whatever.cs

Seleção StyleCop documentação.O meu favorito é <auto-generated /> tag na parte superior do documento, ou você pode usar a diretiva #region ou outras opções mencionadas no docs.

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