7

Acabo de actualizar un proyecto de 2008 a 2010 Beta 2 y StyleCop ahora está informando advertencias SA1305 (notación húngara) en nombres de variables con el prefijo 'es'. 'Is' está definitivamente en la lista de prefijos permitidos.¿Por qué StyleCop SA1305 no respeta la lista de prefijos permitidos en VS2010 (o MSBuild)?

¿Es esto un problema conocido? ¿Alguien más ha encontrado este problema? El código definitivamente se compilaba sin advertencias en 2008.

Actualización: Resulta que esto puede funcionar como se esperaba en Visual Studio, pero luego falla a través de MSBuild. Vea la respuesta a continuación para saber por qué.

Respuesta

4

me encontré con un problema similar ahora al compilar con msbuild vs en un cuadro de desarrollador. Resulta que la Settings.StyleCop defecto (C:\Program Files (x86)\MSBuild\Microsoft\StyleCop\v4.4) que se instala en realidad contiene un montón de valores que se necesita para duplicar en su propio archivo si:

  • no va a instalar StyleCop en el "otro" (construir) la máquina

o

  • que tiene "no fusionarse con cualquier otro archivo de configuración" habilitado

Específicamente: el Editor de configuraciones de StyleCop selecciona automáticamente la notación húngara del otro archivo, independientemente de lo que indique la pestaña "Archivos de configuración".

2

sólo tiene que añadir de esta manera:

<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules"> 
    <AnalyzerSettings> 
    <CollectionProperty Name="Hungarian"> 
     <Value>is</Value> 
    </CollectionProperty> 
    </AnalyzerSettings> 
</Analyzer> 

http://www.thewayithink.co.uk/stylecop/sa1305.htm

+0

Está en la lista predeterminada, en realidad. – Jedidja

10

puede agregar manualmente el "es" excepción a Settings.StyleCop:

<Analyzers>  
    <Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules"> 
    <AnalyzerSettings> 
     <CollectionProperty Name="Hungarian"> 
     <Value>is</Value> 
     </CollectionProperty> 
    </AnalyzerSettings> 
    </Analyzer> 
</Analyzers> 
Cuestiones relacionadas