2011-02-17 13 views
20

Al comienzo de un archivo de C#, he añadido:Excluir archivos del análisis StyleCop: etiqueta "autogenerado" se ignora

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

Quiero StyleCop para omitir la comprobación de este archivo, por lo que se utiliza la auto-generated truco explicado en other answers.

Sin embargo, después de limpiar y reconstruir mi solución, StyleCop sigue generando advertencias para este archivo. ¿Por qué pasó esto? ¿Cómo se puede arreglar?

Estoy usando Microsoft Visual Studio 2008 Professional Edition y StyleCop v4.3.

+1

¿Ha verificado que la "Analizar archivos generados" está sin marcar en la configuración del proyecto StyleCop? –

+0

@ Frédéric: Gracias por su sugerencia. Sí, esta opción está desmarcada. –

Respuesta

21

@ Frédéric - lamentablemente, la opción Analyze generated files no está relacionada de alguna manera con la omisión de archivos con la etiqueta <auto-generated />.

Los archivos que contienen <auto-generated /> siempre se saltan el texto independientemente del valor de la configuración.

@Daniel - Creo que se trata de un error en la versión 4.3 que se lanzó hace más de un año y ahora está definitivamente obsoleto. La única razón para usar 4.3 es solo si usa Visual Studio 2005, que no es compatible con StyleCop 4.4.

Recomiendo encarecidamente que actualice a 4.4 - Acabo de comprobar su ejemplo y funciona bien.

+0

debidamente anotado, gracias :) –

+3

no funciona para mí. Tengo la versión 4.4.3. ¿Qué más podría estar mal al respecto? –

+1

@ Sören, tenga en cuenta si tiene al menos un vacío que no comienza con '//' en el encabezado marcado como , Stylecop no lo considera como generado automáticamente. Y Microsoft incluye un montón de líneas vacías en sus archivos generados automáticamente – YMC

0

Verificar StyleCop documentation. Mi favorito es la etiqueta <auto-generated /> en la parte superior del documento o puede usar la directiva #region u otras opciones mencionadas en los documentos.

2

Puede establecer exclusiones de archivos dentro del archivo Settings.StyleCop. El archivo se encuentra en su solución/proyecto o en su directorio de instalación de StyleCop.

A continuación, puede utilizar expresiones regulares dentro de los ajustes Parser para definir los archivos que desea 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> 

En este caso quiero ignorar codegen.whatever.cs

Cuestiones relacionadas