2010-03-04 10 views
7

Estoy usando StyleCop en VS2008. Obtengo este error:StyleCop SA1638

SA1638: El atributo de archivo en la etiqueta de copyright del encabezado del archivo debe contener el nombre del archivo.

Aquí está mi encabezado.

// <copyright file="AssemblyInfo.cs" company="company"> 
// Copyright (c) company. All rights reserved. 
// </copyright> 
// <author>me</author> 
// <email>[email protected]</email> 
// <date>2010-03-04</date> 
// <summary>blah blah.</summary> 

Sospecho que el problema es que mi AssemblyInfo.cs se encuentra dentro de la carpeta de Propiedades. ¿Alguna pista sobre cómo puedo solucionar esta advertencia sin silenciar a StyleCop?

+0

¿Encontró una manera de solucionarlo? – Task

+0

No. Sin arreglo. Tuve que suprimir esa advertencia. – niaher

+0

Eso es muy extraño.Solo puedo suponer que has encontrado un error en StyleCop luego. Respuesta actualizada! – Task

Respuesta

5

Seleccione el archivo en el Explorador de soluciones, abra la ventana de Propiedades con el botón derecho, copie el texto en el área "Nombre de archivo" y péguelo en el encabezado.

El directorio de propiedades no debería importar, supongo que tienes un error en algún lugar.

Adición:
Si eso no funciona, entonces, para solucionarlo, tendrá que llevarlo al siguiente nivel.
Copie todo el proyecto a una nueva solución, vuelva a escanear con StyleCop.
Borre todos los archivos no relacionados, vuelva a escanear con StyleCop.
Borre todo el código en el archivo problemático excepto el encabezado, vuelva a escanear con StyleCop.
Si el problema desaparece en algún punto del camino, eso sería realmente extraño.
Si el problema no desaparece, ¡entonces tiene una muestra reproducible!

cerrar la cremallera de esa muestra y adjuntarlo a un nuevo elemento de trabajo aquí: http://code.msdn.microsoft.com/sourceanalysis/WorkItem/List.aspx

Dada algún tiempo es probable que haya una nueva versión reparar el fallo. 8)

3

Tengo el siguiente para un archivo en la carpeta AssemblyInfo.cs Propiedades:

// <copyright file="AssemblyInfo.cs" company="company"> 
// product 
// Copyright (c) 2004-2010 
// by company (http://www.example.com) 
// </copyright> 

y no tener ningún problema con eso. ¿Estás seguro de que el nombre del archivo es correcto (tal vez el de la carcasa está desactivado?) Y que no tienes ningún XML inválido (un símbolo en el nombre de tu empresa, tal vez).

0

La razón es que el nombre del archivo es diferente del nombre de la clase dentro de ese archivo. Hacer que el nombre del archivo y el nombre de clase sean los mismos solucionará este problema.

0

lo más probable es que su nombre de archivo y clase sea diferente. Si puede actualizar su clase como parcial, este error no se mostrará en StyleCop.

2

Según StyleCop Documentación, esto es cómo manejaría AssemblyInfo.cs hoy en día:

Un archivo que es completamente auto-generado por una herramienta, y que no debe ser verificado o ejecutada por StyleCop, puede incluir una Encabezado "autogenerado" en lugar del encabezado del archivo estándar. Esto hará que StyleCop ignore el archivo. Este tipo de encabezado nunca debe colocarse encima de un archivo de código escrito manualmente.

// <auto-generated /> 
namespace Sample.Something 
{ 
    // The contents of this file are completely auto-generated by a tool. 
} 
Cuestiones relacionadas