Perché StyleCop SA1305 non rispettare la lista prefissi consentito in VS2010 (o MSBuild)?
-
11-09-2019 - |
Domanda
Ho appena aggiornato un progetto 2008-2010 Beta 2 e StyleCop ora sta riportando SA1305 (notazione ungherese) avvertenze sui nomi delle variabili con il prefisso 'è'. 'È' è sicuramente nella lista dei prefissi consentiti.
Si tratta di un problema noto? Qualcun altro ha eseguito in questo problema? Il codice è stato sicuramente la compilazione senza avvisi nel 2008.
Aggiorna : Si scopre che questo può funzionare come previsto in Visual Studio, ma poi non riuscire attraverso MSBuild. Vedere la risposta qui sotto per il motivo.
Soluzione 2
mi sono imbattuto in un problema simile ora quando si costruisce con msbuild vs su una scatola sviluppatore. Si scopre che il default Settings.StyleCop (C:\Program Files (x86)\MSBuild\Microsoft\StyleCop\v4.4
) che viene installato in realtà contiene una serie di valori è necessario duplicare nel proprio archivio se:
- non si sta installando StyleCop sulla "altro" (build) macchina
o
- avete "non fondersi con qualsiasi altro file di impostazioni" abilitato
In particolare - Editor Impostazioni StyleCop raccoglie le esclude notazione ungherese dalla altro file automaticamente, indipendentemente da ciò che dice la scheda "File Impostazioni"
.Altri suggerimenti
È possibile aggiungere manualmente la "è" eccezione a Settings.StyleCop:
<Analyzers>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
<AnalyzerSettings>
<CollectionProperty Name="Hungarian">
<Value>is</Value>
</CollectionProperty>
</AnalyzerSettings>
</Analyzer>
</Analyzers>
basta aggiungere in questo modo:
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.NamingRules">
<AnalyzerSettings>
<CollectionProperty Name="Hungarian">
<Value>is</Value>
</CollectionProperty>
</AnalyzerSettings>
</Analyzer>