Exclure le fichier de L'analyse de StyleCop: la balise "auto-générée" est ignorée

Au début d'un fichier C#, j'ai ajouté:

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

Je veux que StyleCop pour sauter la vérification de ce fichier, donc j'ai utilisé le auto-generated astuce expliqué dans autres réponses .

cependant, après avoir nettoyé et reconstruit ma solution, StyleCop continue à générer des avertissements pour ce fichier. Pourquoi est-ce arrivé? Comment peut-il être fixé?

j'utilise Microsoft Visual Studio 2008 Professional Edition et StyleCop v4.3.

20
demandé sur Community 2011-02-17 13:46:02

3 réponses

@Frédéric - malheureusement, l'option Analyze generated files n'est pas liée d'une manière ou d'une autre au fait de sauter des fichiers avec la balise <auto-generated /> .

Les fichiers

contenant du texte <auto-generated /> seront toujours omis quelle que soit la valeur du paramètre.

@Daniel-je crois que vous avez affaire à un bug dans la version 4.3 qui a été publié il y a plus d'un an et qui est définitivement obsolète maintenant. La seule raison d'utiliser 4.3 est seulement si vous utilisez Visual Studio 2005, qui n'est pas prise en charge par StyleCop 4.4.

je vous recommande fortement de passer à la version 4.4 - je viens de vérifier votre exemple et il fonctionne très bien.

21
répondu Oleg Shuruev 2011-02-17 11:25:51

vous pouvez définir des exclusions de fichiers dans le fichier Settings.StyleCop . Le fichier est situé dans votre solution / projet ou dans votre répertoire D'installation de StyleCop.

vous pouvez alors utiliser regex dans les paramètres Parser pour définir les fichiers que vous voulez ignorer

<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>

dans ce cas je veux ignorer codegen.whatever.cs

2
répondu Chris 2017-03-06 14:19:23

Check StyleCop documentation . Mon préféré est la balise <auto-generated /> en haut du document ou vous pouvez utiliser la directive #region ou d'autres options mentionnées dans les docs.

0
répondu Ludwo 2015-08-14 11:59:27