2014-04-11 12 views
7

Sto tentando di sopprimere due occorrenze dell'errore SA1649 in StyleCop.Come sopprimere StyleCop Warning SA1649

Secondo il documentation l'attributo di soppressione si presenta come l'attributo di sotto

[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")] 

Tuttavia, non riesco a capire quale elemento dovrei applicare l'attributo a. Se metto l'attributo sul primo elemento del file (l'interfaccia IClassFactory), ottengo il seguente errore:

SA1649 : CSharp.Documentation : The file attribute in the file header's copyright tag must contain the name of the first type in the file and can be any of these: "IClassFactory" C:(...)COMHelper.cs

Può quell'errore essere soppresso? A quale elemento dovrebbe essere applicato?

+0

Quale versione di StyleCop stai usando? – MUG4N

+0

Spero che questa risposta ti possa aiutare. [1]: http://stackoverflow.com/questions/7796073/issue-with-global-asax-cs-file-and-stylecop-rule-sa1649 –

+0

Devi posizionare il SuppressMessage sulla parte superiore dell'interfaccia . Puoi mostrarci la tua intestazione dell'interfaccia – MUG4N

risposta

0

Gli attributi di soppressione devono essere inseriti nella dichiarazione della classe o dell'interfaccia. Questo dovrebbe essere fatto in ogni file cs a cui non vuoi applicare questa regola.

Tuttavia, se si desidera sopprimere questo per tutti i file cs nel progetto, è necessario considerare di disabilitare questa regola tutte insieme nelle impostazioni. In questo modo non hai una dichiarazione di regola di soppressione su ogni file di classe.

+0

Come ho scritto nella domanda, se lo metto sul primo elemento, ottengo ancora l'errore di stile –

8

Utilizzare una soppressione livello di spazio dei nomi:

[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")] 

namespace MyNamespace 
{ 

} 
+0

Hai davvero funzionato? –

+0

Sì, è ha lavorato per i miei progetti con questo problema. – Chris

0

Chris' opere di risposta, ma per aggiungere ad essa potrebbe essere necessario sopprimere la regola intestazione del file troppo.

[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")] 
[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1633:FileMustHaveHeader", Justification = "Reviewed.")] 

//---------------------------------------------------------------------------------------------------- 
// <copyright file="FileName.cs" company="Company"> 
//  Copyright (c) Company. All rights reserved. 
// </copyright> 
// <author>n00bz</author> 
//---------------------------------------------------------------------------------------------------- 
namespace TestNamespace 
{ 
} 
0

ancora meglio:

//---------------------------------------------------------------------------------------------------- 
// <copyright file="FileName.cs" company="Company"> 
//  Copyright (c) Company. All rights reserved. 
// </copyright> 
// <author>n00bz</author> 
//---------------------------------------------------------------------------------------------------- 
[module: System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:FileHeaderFileNameDocumentationMustMatchTypeName", Justification = "Reviewed.")] 

namespace TestNamespace 
{ 
}