.Net Core 2.0 + StyleCop

Después de tantos años, no pensé que este blog siguiera activo, pero ya que lo “recuperé” vamos a actualizarlo aunque sea un poquito con lo último que estoy haciendo.

Algo que en principio me parecía muy molesto, hoy me resulta de lo mas esencial para un desarrollo ordenado y sin tanta basura como en ciertos proyectos que me han tocado; básicamente me refiero a las reglas de código que impone el uso de StyleCop, y que en la última versión de .Net Core (2.0) no es tán simple como en .Net Framework, o al menos así me parece.

Por tanto, he aquí los pasos, y al final las referencias que he utilizado para lograr configurarlo en Visual Studio Community 2017.

Pasos generales:

  1. Agregar los paquetes Nuget necesarios
  2. Configurar el conjunto de reglas en un archivo .ruleset
  3. Agregar el archivo .ruleset al proyecto
  4. Agregar un archivo de configuración para stylecop

Referencias:


1. Instalar paquetes Nuget

  • Install-Package Microsoft.CodeAnalysis.FxCopAnalyzers
  • Install-Package StyleCop.Analyzers

2. Archivo .RuleSet

Es un archivo XML con extensión .ruleset,  por ejemplo, “StyleCop.ruleset”, donde se especifican las reglas y comportamientos esperados cuando no se cumplen dichas reglas.

Este es el arhivo de configuración que uso en mis proyectos personales:

<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Custom Rulset" Description="Custom Rulset" ToolsVersion="15.0">
  <Rules AnalyzerId="AsyncUsageAnalyzers" RuleNamespace="AsyncUsageAnalyzers">
    <Rule Id="UseConfigureAwait" Action="Error" />
  </Rules>
  <Rules AnalyzerId="FSharp.Editor" RuleNamespace="FSharp.Editor">
    <Rule Id="IDE0005" Action="Error" />
  </Rules>
  <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
    <Rule Id="CA1000" Action="Error" />
    <Rule Id="CA1001" Action="Error" />
    <Rule Id="CA1002" Action="Error" />
    <Rule Id="CA1003" Action="Error" />
    <Rule Id="CA1004" Action="Error" />
    <Rule Id="CA1005" Action="Error" />
    <Rule Id="CA1006" Action="Error" />
    <Rule Id="CA1007" Action="Error" />
    <Rule Id="CA1008" Action="Error" />
    <Rule Id="CA1009" Action="Error" />
    <Rule Id="CA1010" Action="Error" />
    <Rule Id="CA1011" Action="Error" />
    <Rule Id="CA1012" Action="Error" />
    <Rule Id="CA1013" Action="Error" />
    <Rule Id="CA1014" Action="Error" />
    <Rule Id="CA1016" Action="Error" />
    <Rule Id="CA1017" Action="Error" />
    <Rule Id="CA1018" Action="Error" />
    <Rule Id="CA1019" Action="Error" />
    <Rule Id="CA1020" Action="Error" />
    <Rule Id="CA1021" Action="Error" />
    <Rule Id="CA1023" Action="Error" />
    <Rule Id="CA1024" Action="Error" />
    <Rule Id="CA1025" Action="Error" />
    <Rule Id="CA1026" Action="Error" />
    <Rule Id="CA1027" Action="Error" />
    <Rule Id="CA1028" Action="Error" />
    <Rule Id="CA1030" Action="Error" />
    <Rule Id="CA1031" Action="Error" />
    <Rule Id="CA1032" Action="Error" />
    <Rule Id="CA1033" Action="Error" />
    <Rule Id="CA1034" Action="Error" />
    <Rule Id="CA1035" Action="Error" />
    <Rule Id="CA1036" Action="Error" />
    <Rule Id="CA1038" Action="Error" />
    <Rule Id="CA1039" Action="Error" />
    <Rule Id="CA1040" Action="Error" />
    <Rule Id="CA1041" Action="Error" />
    <Rule Id="CA1043" Action="Error" />
    <Rule Id="CA1044" Action="Error" />
    <Rule Id="CA1045" Action="Error" />
    <Rule Id="CA1046" Action="Error" />
    <Rule Id="CA1047" Action="Error" />
    <Rule Id="CA1048" Action="Error" />
    <Rule Id="CA1049" Action="Error" />
    <Rule Id="CA1050" Action="Error" />
    <Rule Id="CA1051" Action="Error" />
    <Rule Id="CA1052" Action="Error" />
    <Rule Id="CA1053" Action="None" />
    <Rule Id="CA1054" Action="Error" />
    <Rule Id="CA1055" Action="Error" />
    <Rule Id="CA1056" Action="Error" />
    <Rule Id="CA1057" Action="Error" />
    <Rule Id="CA1058" Action="Error" />
    <Rule Id="CA1059" Action="Error" />
    <Rule Id="CA1060" Action="Error" />
    <Rule Id="CA1061" Action="Error" />
    <Rule Id="CA1062" Action="Error" />
    <Rule Id="CA1063" Action="Error" />
    <Rule Id="CA1064" Action="Error" />
    <Rule Id="CA1065" Action="Error" />
    <Rule Id="CA1300" Action="Error" />
    <Rule Id="CA1301" Action="Error" />
    <Rule Id="CA1302" Action="Error" />
    <Rule Id="CA1303" Action="Error" />
    <Rule Id="CA1304" Action="Error" />
    <Rule Id="CA1305" Action="Error" />
    <Rule Id="CA1306" Action="Error" />
    <Rule Id="CA1307" Action="Error" />
    <Rule Id="CA1308" Action="Error" />
    <Rule Id="CA1309" Action="Error" />
    <Rule Id="CA1400" Action="Error" />
    <Rule Id="CA1401" Action="Error" />
    <Rule Id="CA1402" Action="Error" />
    <Rule Id="CA1403" Action="Error" />
    <Rule Id="CA1404" Action="Error" />
    <Rule Id="CA1405" Action="Error" />
    <Rule Id="CA1406" Action="Error" />
    <Rule Id="CA1407" Action="Error" />
    <Rule Id="CA1408" Action="Error" />
    <Rule Id="CA1409" Action="Error" />
    <Rule Id="CA1410" Action="Error" />
    <Rule Id="CA1411" Action="Error" />
    <Rule Id="CA1412" Action="Error" />
    <Rule Id="CA1413" Action="Error" />
    <Rule Id="CA1414" Action="Error" />
    <Rule Id="CA1415" Action="Error" />
    <Rule Id="CA1500" Action="Error" />
    <Rule Id="CA1501" Action="Error" />
    <Rule Id="CA1502" Action="Error" />
    <Rule Id="CA1504" Action="Error" />
    <Rule Id="CA1505" Action="Error" />
    <Rule Id="CA1506" Action="Error" />
    <Rule Id="CA1600" Action="Error" />
    <Rule Id="CA1601" Action="Error" />
    <Rule Id="CA1700" Action="Error" />
    <Rule Id="CA1701" Action="Error" />
    <Rule Id="CA1702" Action="Error" />
    <Rule Id="CA1703" Action="Error" />
    <Rule Id="CA1704" Action="Error" />
    <Rule Id="CA1707" Action="Error" />
    <Rule Id="CA1708" Action="Error" />
    <Rule Id="CA1709" Action="Error" />
    <Rule Id="CA1710" Action="Error" />
    <Rule Id="CA1711" Action="Error" />
    <Rule Id="CA1712" Action="Error" />
    <Rule Id="CA1713" Action="Error" />
    <Rule Id="CA1714" Action="Error" />
    <Rule Id="CA1715" Action="Error" />
    <Rule Id="CA1716" Action="Error" />
    <Rule Id="CA1717" Action="Error" />
    <Rule Id="CA1719" Action="Error" />
    <Rule Id="CA1720" Action="Error" />
    <Rule Id="CA1721" Action="Error" />
    <Rule Id="CA1722" Action="Error" />
    <Rule Id="CA1724" Action="Error" />
    <Rule Id="CA1725" Action="Error" />
    <Rule Id="CA1726" Action="Error" />
    <Rule Id="CA1800" Action="Error" />
    <Rule Id="CA1801" Action="Error" />
    <Rule Id="CA1802" Action="Error" />
    <Rule Id="CA1804" Action="Error" />
    <Rule Id="CA1806" Action="Error" />
    <Rule Id="CA1809" Action="Error" />
    <Rule Id="CA1810" Action="Error" />
    <Rule Id="CA1811" Action="Error" />
    <Rule Id="CA1812" Action="Error" />
    <Rule Id="CA1813" Action="Error" />
    <Rule Id="CA1814" Action="Error" />
    <Rule Id="CA1815" Action="Error" />
    <Rule Id="CA1816" Action="Error" />
    <Rule Id="CA1819" Action="Error" />
    <Rule Id="CA1820" Action="Error" />
    <Rule Id="CA1821" Action="Error" />
    <Rule Id="CA1822" Action="Error" />
    <Rule Id="CA1823" Action="Error" />
    <Rule Id="CA1824" Action="Error" />
    <Rule Id="CA1900" Action="Error" />
    <Rule Id="CA1901" Action="Error" />
    <Rule Id="CA1903" Action="Error" />
    <Rule Id="CA2000" Action="Error" />
    <Rule Id="CA2001" Action="Error" />
    <Rule Id="CA2002" Action="Error" />
    <Rule Id="CA2003" Action="Error" />
    <Rule Id="CA2004" Action="Error" />
    <Rule Id="CA2006" Action="Error" />
    <Rule Id="CA2100" Action="Error" />
    <Rule Id="CA2101" Action="Error" />
    <Rule Id="CA2102" Action="Error" />
    <Rule Id="CA2103" Action="Error" />
    <Rule Id="CA2104" Action="Error" />
    <Rule Id="CA2105" Action="Error" />
    <Rule Id="CA2106" Action="Error" />
    <Rule Id="CA2107" Action="Error" />
    <Rule Id="CA2108" Action="Error" />
    <Rule Id="CA2109" Action="Error" />
    <Rule Id="CA2111" Action="Error" />
    <Rule Id="CA2112" Action="Error" />
    <Rule Id="CA2114" Action="Error" />
    <Rule Id="CA2115" Action="Error" />
    <Rule Id="CA2116" Action="Error" />
    <Rule Id="CA2117" Action="Error" />
    <Rule Id="CA2118" Action="Error" />
    <Rule Id="CA2119" Action="Error" />
    <Rule Id="CA2120" Action="Error" />
    <Rule Id="CA2121" Action="Error" />
    <Rule Id="CA2122" Action="Error" />
    <Rule Id="CA2123" Action="Error" />
    <Rule Id="CA2124" Action="Error" />
    <Rule Id="CA2126" Action="Error" />
    <Rule Id="CA2130" Action="Error" />
    <Rule Id="CA2131" Action="Error" />
    <Rule Id="CA2132" Action="Error" />
    <Rule Id="CA2133" Action="Error" />
    <Rule Id="CA2134" Action="Error" />
    <Rule Id="CA2135" Action="Error" />
    <Rule Id="CA2136" Action="Error" />
    <Rule Id="CA2137" Action="Error" />
    <Rule Id="CA2138" Action="Error" />
    <Rule Id="CA2139" Action="Error" />
    <Rule Id="CA2140" Action="Error" />
    <Rule Id="CA2141" Action="Error" />
    <Rule Id="CA2142" Action="Error" />
    <Rule Id="CA2143" Action="Error" />
    <Rule Id="CA2144" Action="Error" />
    <Rule Id="CA2145" Action="Error" />
    <Rule Id="CA2146" Action="Error" />
    <Rule Id="CA2147" Action="Error" />
    <Rule Id="CA2149" Action="Error" />
    <Rule Id="CA2151" Action="Error" />
    <Rule Id="CA2200" Action="Error" />
    <Rule Id="CA2201" Action="Error" />
    <Rule Id="CA2202" Action="Error" />
    <Rule Id="CA2204" Action="Error" />
    <Rule Id="CA2205" Action="Error" />
    <Rule Id="CA2207" Action="Error" />
    <Rule Id="CA2208" Action="Error" />
    <Rule Id="CA2210" Action="Error" />
    <Rule Id="CA2211" Action="Error" />
    <Rule Id="CA2212" Action="Error" />
    <Rule Id="CA2213" Action="Error" />
    <Rule Id="CA2214" Action="Error" />
    <Rule Id="CA2215" Action="Error" />
    <Rule Id="CA2216" Action="Error" />
    <Rule Id="CA2217" Action="Error" />
    <Rule Id="CA2218" Action="Error" />
    <Rule Id="CA2219" Action="Error" />
    <Rule Id="CA2220" Action="Error" />
    <Rule Id="CA2221" Action="Error" />
    <Rule Id="CA2222" Action="Error" />
    <Rule Id="CA2223" Action="Error" />
    <Rule Id="CA2224" Action="Error" />
    <Rule Id="CA2225" Action="Error" />
    <Rule Id="CA2226" Action="Error" />
    <Rule Id="CA2227" Action="Error" />
    <Rule Id="CA2228" Action="Error" />
    <Rule Id="CA2229" Action="Error" />
    <Rule Id="CA2230" Action="Error" />
    <Rule Id="CA2231" Action="Error" />
    <Rule Id="CA2232" Action="Error" />
    <Rule Id="CA2233" Action="Error" />
    <Rule Id="CA2234" Action="Error" />
    <Rule Id="CA2235" Action="Error" />
    <Rule Id="CA2236" Action="Error" />
    <Rule Id="CA2237" Action="Error" />
    <Rule Id="CA2238" Action="Error" />
    <Rule Id="CA2239" Action="Error" />
    <Rule Id="CA2240" Action="Error" />
    <Rule Id="CA2241" Action="Error" />
    <Rule Id="CA2242" Action="Error" />
    <Rule Id="CA2243" Action="Error" />
    <Rule Id="CA5122" Action="Error" />
  </Rules>
  <Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
    <Rule Id="C26100" Action="Error" />
    <Rule Id="C26101" Action="Error" />
    <Rule Id="C26105" Action="Error" />
    <Rule Id="C26110" Action="Error" />
    <Rule Id="C26111" Action="Error" />
    <Rule Id="C26112" Action="Error" />
    <Rule Id="C26115" Action="Error" />
    <Rule Id="C26116" Action="Error" />
    <Rule Id="C26117" Action="Error" />
    <Rule Id="C26130" Action="Error" />
    <Rule Id="C26135" Action="Error" />
    <Rule Id="C26140" Action="Error" />
    <Rule Id="C26160" Action="Error" />
    <Rule Id="C26165" Action="Error" />
    <Rule Id="C26166" Action="Error" />
    <Rule Id="C26167" Action="Error" />
    <Rule Id="C28020" Action="Error" />
    <Rule Id="C28021" Action="Error" />
    <Rule Id="C28022" Action="Error" />
    <Rule Id="C28023" Action="Error" />
    <Rule Id="C28024" Action="Error" />
    <Rule Id="C28039" Action="Error" />
    <Rule Id="C28101" Action="Error" />
    <Rule Id="C28103" Action="Error" />
    <Rule Id="C28104" Action="Error" />
    <Rule Id="C28105" Action="Error" />
    <Rule Id="C28106" Action="Error" />
    <Rule Id="C28107" Action="Error" />
    <Rule Id="C28108" Action="Error" />
    <Rule Id="C28109" Action="Error" />
    <Rule Id="C28110" Action="Error" />
    <Rule Id="C28111" Action="Error" />
    <Rule Id="C28112" Action="Error" />
    <Rule Id="C28113" Action="Error" />
    <Rule Id="C28114" Action="Error" />
    <Rule Id="C28120" Action="Error" />
    <Rule Id="C28121" Action="Error" />
    <Rule Id="C28122" Action="Error" />
    <Rule Id="C28123" Action="Error" />
    <Rule Id="C28124" Action="Error" />
    <Rule Id="C28125" Action="Error" />
    <Rule Id="C28126" Action="Error" />
    <Rule Id="C28127" Action="Error" />
    <Rule Id="C28128" Action="Error" />
    <Rule Id="C28129" Action="Error" />
    <Rule Id="C28131" Action="Error" />
    <Rule Id="C28132" Action="Error" />
    <Rule Id="C28133" Action="Error" />
    <Rule Id="C28134" Action="Error" />
    <Rule Id="C28135" Action="Error" />
    <Rule Id="C28137" Action="Error" />
    <Rule Id="C28138" Action="Error" />
    <Rule Id="C28141" Action="Error" />
    <Rule Id="C28143" Action="Error" />
    <Rule Id="C28144" Action="Error" />
    <Rule Id="C28145" Action="Error" />
    <Rule Id="C28146" Action="Error" />
    <Rule Id="C28147" Action="Error" />
    <Rule Id="C28150" Action="Error" />
    <Rule Id="C28151" Action="Error" />
    <Rule Id="C28152" Action="Error" />
    <Rule Id="C28153" Action="Error" />
    <Rule Id="C28156" Action="Error" />
    <Rule Id="C28157" Action="Error" />
    <Rule Id="C28158" Action="Error" />
    <Rule Id="C28159" Action="Error" />
    <Rule Id="C28160" Action="Error" />
    <Rule Id="C28161" Action="Error" />
    <Rule Id="C28162" Action="Error" />
    <Rule Id="C28163" Action="Error" />
    <Rule Id="C28164" Action="Error" />
    <Rule Id="C28165" Action="Error" />
    <Rule Id="C28166" Action="Error" />
    <Rule Id="C28167" Action="Error" />
    <Rule Id="C28168" Action="Error" />
    <Rule Id="C28169" Action="Error" />
    <Rule Id="C28170" Action="Error" />
    <Rule Id="C28171" Action="Error" />
    <Rule Id="C28172" Action="Error" />
    <Rule Id="C28173" Action="Error" />
    <Rule Id="C28175" Action="Error" />
    <Rule Id="C28176" Action="Error" />
    <Rule Id="C28182" Action="Error" />
    <Rule Id="C28183" Action="Error" />
    <Rule Id="C28193" Action="Error" />
    <Rule Id="C28194" Action="Error" />
    <Rule Id="C28195" Action="Error" />
    <Rule Id="C28196" Action="Error" />
    <Rule Id="C28197" Action="Error" />
    <Rule Id="C28198" Action="Error" />
    <Rule Id="C28199" Action="Error" />
    <Rule Id="C28202" Action="Error" />
    <Rule Id="C28203" Action="Error" />
    <Rule Id="C28204" Action="Error" />
    <Rule Id="C28205" Action="Error" />
    <Rule Id="C28206" Action="Error" />
    <Rule Id="C28207" Action="Error" />
    <Rule Id="C28208" Action="Error" />
    <Rule Id="C28209" Action="Error" />
    <Rule Id="C28210" Action="Error" />
    <Rule Id="C28211" Action="Error" />
    <Rule Id="C28212" Action="Error" />
    <Rule Id="C28213" Action="Error" />
    <Rule Id="C28214" Action="Error" />
    <Rule Id="C28215" Action="Error" />
    <Rule Id="C28216" Action="Error" />
    <Rule Id="C28217" Action="Error" />
    <Rule Id="C28218" Action="Error" />
    <Rule Id="C28219" Action="Error" />
    <Rule Id="C28220" Action="Error" />
    <Rule Id="C28221" Action="Error" />
    <Rule Id="C28222" Action="Error" />
    <Rule Id="C28223" Action="Error" />
    <Rule Id="C28224" Action="Error" />
    <Rule Id="C28225" Action="Error" />
    <Rule Id="C28226" Action="Error" />
    <Rule Id="C28227" Action="Error" />
    <Rule Id="C28228" Action="Error" />
    <Rule Id="C28229" Action="Error" />
    <Rule Id="C28230" Action="Error" />
    <Rule Id="C28231" Action="Error" />
    <Rule Id="C28232" Action="Error" />
    <Rule Id="C28233" Action="Error" />
    <Rule Id="C28234" Action="Error" />
    <Rule Id="C28235" Action="Error" />
    <Rule Id="C28236" Action="Error" />
    <Rule Id="C28237" Action="Error" />
    <Rule Id="C28238" Action="Error" />
    <Rule Id="C28239" Action="Error" />
    <Rule Id="C28240" Action="Error" />
    <Rule Id="C28241" Action="Error" />
    <Rule Id="C28243" Action="Error" />
    <Rule Id="C28244" Action="Error" />
    <Rule Id="C28245" Action="Error" />
    <Rule Id="C28246" Action="Error" />
    <Rule Id="C28250" Action="Error" />
    <Rule Id="C28251" Action="Error" />
    <Rule Id="C28252" Action="Error" />
    <Rule Id="C28253" Action="Error" />
    <Rule Id="C28254" Action="Error" />
    <Rule Id="C28260" Action="Error" />
    <Rule Id="C28262" Action="Error" />
    <Rule Id="C28263" Action="Error" />
    <Rule Id="C28266" Action="Error" />
    <Rule Id="C28267" Action="Error" />
    <Rule Id="C28272" Action="Error" />
    <Rule Id="C28273" Action="Error" />
    <Rule Id="C28275" Action="Error" />
    <Rule Id="C28278" Action="Error" />
    <Rule Id="C28279" Action="Error" />
    <Rule Id="C28280" Action="Error" />
    <Rule Id="C28282" Action="Error" />
    <Rule Id="C28283" Action="Error" />
    <Rule Id="C28284" Action="Error" />
    <Rule Id="C28285" Action="Error" />
    <Rule Id="C28286" Action="Error" />
    <Rule Id="C28287" Action="Error" />
    <Rule Id="C28288" Action="Error" />
    <Rule Id="C28289" Action="Error" />
    <Rule Id="C28290" Action="Error" />
    <Rule Id="C28291" Action="Error" />
    <Rule Id="C28300" Action="Error" />
    <Rule Id="C28301" Action="Error" />
    <Rule Id="C28302" Action="Error" />
    <Rule Id="C28303" Action="Error" />
    <Rule Id="C28304" Action="Error" />
    <Rule Id="C28305" Action="Error" />
    <Rule Id="C28306" Action="Error" />
    <Rule Id="C28307" Action="Error" />
    <Rule Id="C28308" Action="Error" />
    <Rule Id="C28309" Action="Error" />
    <Rule Id="C28350" Action="Error" />
    <Rule Id="C28351" Action="Error" />
    <Rule Id="C28601" Action="Error" />
    <Rule Id="C28602" Action="Error" />
    <Rule Id="C28604" Action="Error" />
    <Rule Id="C28615" Action="Error" />
    <Rule Id="C28616" Action="Error" />
    <Rule Id="C28617" Action="Error" />
    <Rule Id="C28623" Action="Error" />
    <Rule Id="C28624" Action="Error" />
    <Rule Id="C28625" Action="Error" />
    <Rule Id="C28636" Action="Error" />
    <Rule Id="C28637" Action="Error" />
    <Rule Id="C28638" Action="Error" />
    <Rule Id="C28639" Action="Error" />
    <Rule Id="C28640" Action="Error" />
    <Rule Id="C28645" Action="Error" />
    <Rule Id="C28648" Action="Error" />
    <Rule Id="C28649" Action="Error" />
    <Rule Id="C28650" Action="Error" />
    <Rule Id="C28714" Action="Error" />
    <Rule Id="C28715" Action="Error" />
    <Rule Id="C28716" Action="Error" />
    <Rule Id="C28717" Action="Error" />
    <Rule Id="C28719" Action="Error" />
    <Rule Id="C28720" Action="Error" />
    <Rule Id="C28721" Action="Error" />
    <Rule Id="C28726" Action="Error" />
    <Rule Id="C28727" Action="Error" />
    <Rule Id="C28730" Action="Error" />
    <Rule Id="C28735" Action="Error" />
    <Rule Id="C28736" Action="Error" />
    <Rule Id="C28750" Action="Error" />
    <Rule Id="C28751" Action="Error" />
    <Rule Id="C6001" Action="Error" />
    <Rule Id="C6011" Action="Error" />
    <Rule Id="C6014" Action="Error" />
    <Rule Id="C6029" Action="Error" />
    <Rule Id="C6031" Action="Error" />
    <Rule Id="C6053" Action="Error" />
    <Rule Id="C6054" Action="Error" />
    <Rule Id="C6059" Action="Error" />
    <Rule Id="C6063" Action="Error" />
    <Rule Id="C6064" Action="Error" />
    <Rule Id="C6066" Action="Error" />
    <Rule Id="C6067" Action="Error" />
    <Rule Id="C6101" Action="Error" />
    <Rule Id="C6200" Action="Error" />
    <Rule Id="C6201" Action="Error" />
    <Rule Id="C6211" Action="Error" />
    <Rule Id="C6214" Action="Error" />
    <Rule Id="C6215" Action="Error" />
    <Rule Id="C6216" Action="Error" />
    <Rule Id="C6217" Action="Error" />
    <Rule Id="C6219" Action="Error" />
    <Rule Id="C6220" Action="Error" />
    <Rule Id="C6221" Action="Error" />
    <Rule Id="C6225" Action="Error" />
    <Rule Id="C6226" Action="Error" />
    <Rule Id="C6230" Action="Error" />
    <Rule Id="C6235" Action="Error" />
    <Rule Id="C6236" Action="Error" />
    <Rule Id="C6237" Action="Error" />
    <Rule Id="C6239" Action="Error" />
    <Rule Id="C6240" Action="Error" />
    <Rule Id="C6242" Action="Error" />
    <Rule Id="C6244" Action="Error" />
    <Rule Id="C6246" Action="Error" />
    <Rule Id="C6248" Action="Error" />
    <Rule Id="C6250" Action="Error" />
    <Rule Id="C6255" Action="Error" />
    <Rule Id="C6258" Action="Error" />
    <Rule Id="C6259" Action="Error" />
    <Rule Id="C6260" Action="Error" />
    <Rule Id="C6262" Action="Error" />
    <Rule Id="C6263" Action="Error" />
    <Rule Id="C6268" Action="Error" />
    <Rule Id="C6269" Action="Error" />
    <Rule Id="C6270" Action="Error" />
    <Rule Id="C6271" Action="Error" />
    <Rule Id="C6272" Action="Error" />
    <Rule Id="C6273" Action="Error" />
    <Rule Id="C6274" Action="Error" />
    <Rule Id="C6276" Action="Error" />
    <Rule Id="C6277" Action="Error" />
    <Rule Id="C6278" Action="Error" />
    <Rule Id="C6279" Action="Error" />
    <Rule Id="C6280" Action="Error" />
    <Rule Id="C6281" Action="Error" />
    <Rule Id="C6282" Action="Error" />
    <Rule Id="C6283" Action="Error" />
    <Rule Id="C6284" Action="Error" />
    <Rule Id="C6285" Action="Error" />
    <Rule Id="C6286" Action="Error" />
    <Rule Id="C6287" Action="Error" />
    <Rule Id="C6288" Action="Error" />
    <Rule Id="C6289" Action="Error" />
    <Rule Id="C6290" Action="Error" />
    <Rule Id="C6291" Action="Error" />
    <Rule Id="C6292" Action="Error" />
    <Rule Id="C6293" Action="Error" />
    <Rule Id="C6294" Action="Error" />
    <Rule Id="C6295" Action="Error" />
    <Rule Id="C6296" Action="Error" />
    <Rule Id="C6297" Action="Error" />
    <Rule Id="C6298" Action="Error" />
    <Rule Id="C6299" Action="Error" />
    <Rule Id="C6302" Action="Error" />
    <Rule Id="C6303" Action="Error" />
    <Rule Id="C6305" Action="Error" />
    <Rule Id="C6306" Action="Error" />
    <Rule Id="C6308" Action="Error" />
    <Rule Id="C6310" Action="Error" />
    <Rule Id="C6312" Action="Error" />
    <Rule Id="C6313" Action="Error" />
    <Rule Id="C6314" Action="Error" />
    <Rule Id="C6315" Action="Error" />
    <Rule Id="C6316" Action="Error" />
    <Rule Id="C6317" Action="Error" />
    <Rule Id="C6318" Action="Error" />
    <Rule Id="C6319" Action="Error" />
    <Rule Id="C6320" Action="Error" />
    <Rule Id="C6322" Action="Error" />
    <Rule Id="C6323" Action="Error" />
    <Rule Id="C6324" Action="Error" />
    <Rule Id="C6326" Action="Error" />
    <Rule Id="C6328" Action="Error" />
    <Rule Id="C6329" Action="Error" />
    <Rule Id="C6330" Action="Error" />
    <Rule Id="C6331" Action="Error" />
    <Rule Id="C6332" Action="Error" />
    <Rule Id="C6333" Action="Error" />
    <Rule Id="C6334" Action="Error" />
    <Rule Id="C6335" Action="Error" />
    <Rule Id="C6336" Action="Error" />
    <Rule Id="C6340" Action="Error" />
    <Rule Id="C6381" Action="Error" />
    <Rule Id="C6383" Action="Error" />
    <Rule Id="C6384" Action="Error" />
    <Rule Id="C6385" Action="Error" />
    <Rule Id="C6386" Action="Error" />
    <Rule Id="C6387" Action="Error" />
    <Rule Id="C6388" Action="Error" />
    <Rule Id="C6400" Action="Error" />
    <Rule Id="C6401" Action="Error" />
    <Rule Id="C6411" Action="Error" />
    <Rule Id="C6412" Action="Error" />
    <Rule Id="C6500" Action="Error" />
    <Rule Id="C6501" Action="Error" />
    <Rule Id="C6503" Action="Error" />
    <Rule Id="C6504" Action="Error" />
    <Rule Id="C6505" Action="Error" />
    <Rule Id="C6506" Action="Error" />
    <Rule Id="C6508" Action="Error" />
    <Rule Id="C6509" Action="Error" />
    <Rule Id="C6510" Action="Error" />
    <Rule Id="C6511" Action="Error" />
    <Rule Id="C6513" Action="Error" />
    <Rule Id="C6514" Action="Error" />
    <Rule Id="C6515" Action="Error" />
    <Rule Id="C6516" Action="Error" />
    <Rule Id="C6517" Action="Error" />
    <Rule Id="C6518" Action="Error" />
    <Rule Id="C6522" Action="Error" />
    <Rule Id="C6525" Action="Error" />
    <Rule Id="C6527" Action="Error" />
    <Rule Id="C6530" Action="Error" />
    <Rule Id="C6540" Action="Error" />
    <Rule Id="C6551" Action="Error" />
    <Rule Id="C6552" Action="Error" />
    <Rule Id="C6701" Action="Error" />
    <Rule Id="C6702" Action="Error" />
    <Rule Id="C6703" Action="Error" />
    <Rule Id="C6704" Action="Error" />
    <Rule Id="C6705" Action="Error" />
    <Rule Id="C6706" Action="Error" />
    <Rule Id="C6707" Action="Error" />
    <Rule Id="C6993" Action="Error" />
    <Rule Id="C6995" Action="Error" />
    <Rule Id="C6997" Action="Error" />
  </Rules>
  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
    <Rule Id="AD0001" Action="Error" />
    <Rule Id="CS0078" Action="Error" />
    <Rule Id="CS0105" Action="Error" />
    <Rule Id="CS0108" Action="Error" />
    <Rule Id="CS0109" Action="Error" />
    <Rule Id="CS0114" Action="Error" />
    <Rule Id="CS0162" Action="Error" />
    <Rule Id="CS0164" Action="Error" />
    <Rule Id="CS0168" Action="Error" />
    <Rule Id="CS0183" Action="Error" />
    <Rule Id="CS0184" Action="Error" />
    <Rule Id="CS0197" Action="Error" />
    <Rule Id="CS0219" Action="Error" />
    <Rule Id="CS0251" Action="Error" />
    <Rule Id="CS0252" Action="Error" />
    <Rule Id="CS0253" Action="Error" />
    <Rule Id="CS0278" Action="Error" />
    <Rule Id="CS0279" Action="Error" />
    <Rule Id="CS0280" Action="Error" />
    <Rule Id="CS0282" Action="Error" />
    <Rule Id="CS0419" Action="Error" />
    <Rule Id="CS0420" Action="Error" />
    <Rule Id="CS0435" Action="Error" />
    <Rule Id="CS0436" Action="Error" />
    <Rule Id="CS0437" Action="Error" />
    <Rule Id="CS0440" Action="Error" />
    <Rule Id="CS0458" Action="Error" />
    <Rule Id="CS0464" Action="Error" />
    <Rule Id="CS0465" Action="Error" />
    <Rule Id="CS0469" Action="Error" />
    <Rule Id="CS0472" Action="Error" />
    <Rule Id="CS0473" Action="Error" />
    <Rule Id="CS0612" Action="Error" />
    <Rule Id="CS0618" Action="Error" />
    <Rule Id="CS0626" Action="Error" />
    <Rule Id="CS0628" Action="Error" />
    <Rule Id="CS0642" Action="Error" />
    <Rule Id="CS0652" Action="Error" />
    <Rule Id="CS0657" Action="Error" />
    <Rule Id="CS0658" Action="Error" />
    <Rule Id="CS0659" Action="Error" />
    <Rule Id="CS0660" Action="Error" />
    <Rule Id="CS0661" Action="Error" />
    <Rule Id="CS0665" Action="Error" />
    <Rule Id="CS0672" Action="Error" />
    <Rule Id="CS0675" Action="Error" />
    <Rule Id="CS0684" Action="Error" />
    <Rule Id="CS0693" Action="Error" />
    <Rule Id="CS0728" Action="Error" />
    <Rule Id="CS0809" Action="Error" />
    <Rule Id="CS0811" Action="Error" />
    <Rule Id="CS0824" Action="Error" />
    <Rule Id="CS1030" Action="Error" />
    <Rule Id="CS1058" Action="Error" />
    <Rule Id="CS1062" Action="Error" />
    <Rule Id="CS1064" Action="Error" />
    <Rule Id="CS1066" Action="Error" />
    <Rule Id="CS1072" Action="Error" />
    <Rule Id="CS1522" Action="Error" />
    <Rule Id="CS1570" Action="Error" />
    <Rule Id="CS1571" Action="Error" />
    <Rule Id="CS1572" Action="Error" />
    <Rule Id="CS1573" Action="Error" />
    <Rule Id="CS1574" Action="Error" />
    <Rule Id="CS1580" Action="Error" />
    <Rule Id="CS1581" Action="Error" />
    <Rule Id="CS1584" Action="Error" />
    <Rule Id="CS1587" Action="Error" />
    <Rule Id="CS1589" Action="Error" />
    <Rule Id="CS1590" Action="Error" />
    <Rule Id="CS1591" Action="Error" />
    <Rule Id="CS1592" Action="Error" />
    <Rule Id="CS1616" Action="Error" />
    <Rule Id="CS1633" Action="Error" />
    <Rule Id="CS1634" Action="Error" />
    <Rule Id="CS1635" Action="Error" />
    <Rule Id="CS1645" Action="Error" />
    <Rule Id="CS1658" Action="Error" />
    <Rule Id="CS1668" Action="Error" />
    <Rule Id="CS1685" Action="Error" />
    <Rule Id="CS1687" Action="Error" />
    <Rule Id="CS1690" Action="Error" />
    <Rule Id="CS1692" Action="Error" />
    <Rule Id="CS1695" Action="Error" />
    <Rule Id="CS1696" Action="Error" />
    <Rule Id="CS1697" Action="Error" />
    <Rule Id="CS1700" Action="Error" />
    <Rule Id="CS1701" Action="Error" />
    <Rule Id="CS1702" Action="Error" />
    <Rule Id="CS1710" Action="Error" />
    <Rule Id="CS1711" Action="Error" />
    <Rule Id="CS1712" Action="Error" />
    <Rule Id="CS1717" Action="Error" />
    <Rule Id="CS1718" Action="Error" />
    <Rule Id="CS1720" Action="Error" />
    <Rule Id="CS1723" Action="Error" />
    <Rule Id="CS1734" Action="Error" />
    <Rule Id="CS1735" Action="Error" />
    <Rule Id="CS1762" Action="Error" />
    <Rule Id="CS1927" Action="Error" />
    <Rule Id="CS1956" Action="Error" />
    <Rule Id="CS1957" Action="Error" />
    <Rule Id="CS1974" Action="Error" />
    <Rule Id="CS1981" Action="Error" />
    <Rule Id="CS1998" Action="Error" />
    <Rule Id="CS2002" Action="Error" />
    <Rule Id="CS2008" Action="Error" />
    <Rule Id="CS2023" Action="Error" />
    <Rule Id="CS2029" Action="Error" />
    <Rule Id="CS2038" Action="Error" />
    <Rule Id="CS3000" Action="Error" />
    <Rule Id="CS3001" Action="Error" />
    <Rule Id="CS3002" Action="Error" />
    <Rule Id="CS3003" Action="Error" />
    <Rule Id="CS3005" Action="Error" />
    <Rule Id="CS3006" Action="Error" />
    <Rule Id="CS3007" Action="Error" />
    <Rule Id="CS3008" Action="Error" />
    <Rule Id="CS3009" Action="Error" />
    <Rule Id="CS3010" Action="Error" />
    <Rule Id="CS3011" Action="Error" />
    <Rule Id="CS3012" Action="Error" />
    <Rule Id="CS3013" Action="Error" />
    <Rule Id="CS3014" Action="Error" />
    <Rule Id="CS3015" Action="Error" />
    <Rule Id="CS3016" Action="Error" />
    <Rule Id="CS3017" Action="Error" />
    <Rule Id="CS3018" Action="Error" />
    <Rule Id="CS3019" Action="Error" />
    <Rule Id="CS3021" Action="Error" />
    <Rule Id="CS3022" Action="Error" />
    <Rule Id="CS3023" Action="Error" />
    <Rule Id="CS3024" Action="Error" />
    <Rule Id="CS3026" Action="Error" />
    <Rule Id="CS3027" Action="Error" />
    <Rule Id="CS4014" Action="Error" />
    <Rule Id="CS4024" Action="Error" />
    <Rule Id="CS4025" Action="Error" />
    <Rule Id="CS4026" Action="Error" />
    <Rule Id="CS7033" Action="Error" />
    <Rule Id="CS7035" Action="Error" />
    <Rule Id="CS7080" Action="Error" />
    <Rule Id="CS7081" Action="Error" />
    <Rule Id="CS7082" Action="Error" />
    <Rule Id="CS7090" Action="Error" />
    <Rule Id="CS7095" Action="Error" />
    <Rule Id="CS8001" Action="Error" />
    <Rule Id="CS8002" Action="Error" />
    <Rule Id="CS8009" Action="Error" />
    <Rule Id="CS8012" Action="Error" />
    <Rule Id="CS8018" Action="Error" />
    <Rule Id="CS8019" Action="Error" />
    <Rule Id="CS8020" Action="Error" />
    <Rule Id="CS8021" Action="Error" />
    <Rule Id="CS8029" Action="Error" />
    <Rule Id="CS8032" Action="Error" />
    <Rule Id="CS8033" Action="Error" />
    <Rule Id="CS8034" Action="Error" />
    <Rule Id="CS8040" Action="Error" />
    <Rule Id="CS8073" Action="Error" />
    <Rule Id="CS8094" Action="Error" />
    <Rule Id="CS8105" Action="Error" />
    <Rule Id="CS8123" Action="Error" />
  </Rules>
  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp.EditorFeatures" RuleNamespace="Microsoft.CodeAnalysis.CSharp.EditorFeatures">
    <Rule Id="IDE0032" Action="None" />
    <Rule Id="IDE0032WithoutSuggestion" Action="None" />
  </Rules>
  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp.Features" RuleNamespace="Microsoft.CodeAnalysis.CSharp.Features">
    <Rule Id="IDE0001" Action="Error" />
    <Rule Id="IDE0002" Action="Error" />
    <Rule Id="IDE0003" Action="Error" />
    <Rule Id="IDE0004" Action="Error" />
    <Rule Id="IDE0005" Action="Error" />
    <Rule Id="IDE0007" Action="Error" />
    <Rule Id="IDE0007WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0008" Action="Error" />
    <Rule Id="IDE0008WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0009" Action="Error" />
    <Rule Id="IDE0009WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0011" Action="Error" />
    <Rule Id="IDE0011WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0012" Action="Error" />
    <Rule Id="IDE0013" Action="Error" />
    <Rule Id="IDE0014" Action="Error" />
    <Rule Id="IDE0015" Action="Error" />
    <Rule Id="IDE0016" Action="Error" />
    <Rule Id="IDE0016WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0017" Action="Error" />
    <Rule Id="IDE0017WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0018" Action="Error" />
    <Rule Id="IDE0018WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0019" Action="Error" />
    <Rule Id="IDE0019WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0020" Action="Error" />
    <Rule Id="IDE0020WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0021" Action="Error" />
    <Rule Id="IDE0021WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0022" Action="Error" />
    <Rule Id="IDE0022WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0023" Action="Error" />
    <Rule Id="IDE0023WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0024" Action="Error" />
    <Rule Id="IDE0024WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0025" Action="Error" />
    <Rule Id="IDE0025WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0026" Action="Error" />
    <Rule Id="IDE0026WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0027" Action="Error" />
    <Rule Id="IDE0027WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0028" Action="Error" />
    <Rule Id="IDE0028WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0029" Action="Error" />
    <Rule Id="IDE0029WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0030" Action="Error" />
    <Rule Id="IDE0030WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0031" Action="Error" />
    <Rule Id="IDE0031WithoutSuggestion" Action="Error" />
    <Rule Id="IDE1005" Action="Error" />
    <Rule Id="IDE1005WithoutSuggestion" Action="Error" />
    <Rule Id="IDE1006" Action="Error" />
    <Rule Id="IDE1006WithoutSuggestion" Action="Error" />
  </Rules>
  <Rules AnalyzerId="Microsoft.CodeAnalysis.Features" RuleNamespace="Microsoft.CodeAnalysis.Features">
    <Rule Id="IDE0010" Action="Error" />
    <Rule Id="IDE0010WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0033" Action="Error" />
    <Rule Id="IDE0033WithoutSuggestion" Action="Error" />
  </Rules>
  <Rules AnalyzerId="Microsoft.CodeAnalysis.VisualBasic" RuleNamespace="Microsoft.CodeAnalysis.VisualBasic">
    <Rule Id="AD0001" Action="Error" />
    <Rule Id="BC2025" Action="None" />
    <Rule Id="BC40000" Action="None" />
    <Rule Id="BC40001" Action="None" />
    <Rule Id="BC40003" Action="None" />
    <Rule Id="BC40004" Action="None" />
    <Rule Id="BC40005" Action="None" />
    <Rule Id="BC40007" Action="None" />
    <Rule Id="BC40008" Action="None" />
    <Rule Id="BC40009" Action="None" />
    <Rule Id="BC40010" Action="None" />
    <Rule Id="BC40011" Action="None" />
    <Rule Id="BC40012" Action="None" />
    <Rule Id="BC40014" Action="None" />
    <Rule Id="BC40018" Action="None" />
    <Rule Id="BC40019" Action="None" />
    <Rule Id="BC40020" Action="None" />
    <Rule Id="BC40025" Action="None" />
    <Rule Id="BC40026" Action="None" />
    <Rule Id="BC40027" Action="None" />
    <Rule Id="BC40028" Action="None" />
    <Rule Id="BC40029" Action="None" />
    <Rule Id="BC40030" Action="None" />
    <Rule Id="BC40031" Action="None" />
    <Rule Id="BC40032" Action="None" />
    <Rule Id="BC40033" Action="None" />
    <Rule Id="BC40034" Action="None" />
    <Rule Id="BC40035" Action="None" />
    <Rule Id="BC40038" Action="None" />
    <Rule Id="BC40039" Action="None" />
    <Rule Id="BC40040" Action="None" />
    <Rule Id="BC40041" Action="None" />
    <Rule Id="BC40042" Action="None" />
    <Rule Id="BC40043" Action="None" />
    <Rule Id="BC40046" Action="None" />
    <Rule Id="BC40048" Action="None" />
    <Rule Id="BC40049" Action="None" />
    <Rule Id="BC40050" Action="None" />
    <Rule Id="BC40051" Action="None" />
    <Rule Id="BC40052" Action="None" />
    <Rule Id="BC40053" Action="None" />
    <Rule Id="BC40054" Action="None" />
    <Rule Id="BC40055" Action="None" />
    <Rule Id="BC40056" Action="None" />
    <Rule Id="BC40057" Action="None" />
    <Rule Id="BC40059" Action="None" />
    <Rule Id="BC40060" Action="None" />
    <Rule Id="BC40998" Action="None" />
    <Rule Id="BC41001" Action="None" />
    <Rule Id="BC41002" Action="None" />
    <Rule Id="BC41003" Action="None" />
    <Rule Id="BC41004" Action="None" />
    <Rule Id="BC41005" Action="None" />
    <Rule Id="BC41006" Action="None" />
    <Rule Id="BC41007" Action="None" />
    <Rule Id="BC41008" Action="None" />
    <Rule Id="BC41009" Action="None" />
    <Rule Id="BC41997" Action="None" />
    <Rule Id="BC41998" Action="None" />
    <Rule Id="BC41999" Action="None" />
    <Rule Id="BC42000" Action="None" />
    <Rule Id="BC42004" Action="None" />
    <Rule Id="BC42016" Action="None" />
    <Rule Id="BC42017" Action="None" />
    <Rule Id="BC42018" Action="None" />
    <Rule Id="BC42019" Action="None" />
    <Rule Id="BC42020" Action="None" />
    <Rule Id="BC42021" Action="None" />
    <Rule Id="BC42022" Action="None" />
    <Rule Id="BC42024" Action="None" />
    <Rule Id="BC42025" Action="None" />
    <Rule Id="BC42026" Action="None" />
    <Rule Id="BC42029" Action="None" />
    <Rule Id="BC42030" Action="None" />
    <Rule Id="BC42031" Action="None" />
    <Rule Id="BC42032" Action="None" />
    <Rule Id="BC42033" Action="None" />
    <Rule Id="BC42034" Action="None" />
    <Rule Id="BC42035" Action="None" />
    <Rule Id="BC42036" Action="None" />
    <Rule Id="BC42037" Action="None" />
    <Rule Id="BC42038" Action="None" />
    <Rule Id="BC42099" Action="None" />
    <Rule Id="BC42101" Action="None" />
    <Rule Id="BC42102" Action="None" />
    <Rule Id="BC42104" Action="None" />
    <Rule Id="BC42105" Action="None" />
    <Rule Id="BC42106" Action="None" />
    <Rule Id="BC42107" Action="None" />
    <Rule Id="BC42108" Action="None" />
    <Rule Id="BC42109" Action="None" />
    <Rule Id="BC42111" Action="None" />
    <Rule Id="BC42207" Action="None" />
    <Rule Id="BC42300" Action="None" />
    <Rule Id="BC42301" Action="None" />
    <Rule Id="BC42302" Action="None" />
    <Rule Id="BC42303" Action="None" />
    <Rule Id="BC42304" Action="None" />
    <Rule Id="BC42305" Action="None" />
    <Rule Id="BC42306" Action="None" />
    <Rule Id="BC42307" Action="None" />
    <Rule Id="BC42308" Action="None" />
    <Rule Id="BC42309" Action="None" />
    <Rule Id="BC42310" Action="None" />
    <Rule Id="BC42311" Action="None" />
    <Rule Id="BC42312" Action="None" />
    <Rule Id="BC42313" Action="None" />
    <Rule Id="BC42314" Action="None" />
    <Rule Id="BC42315" Action="None" />
    <Rule Id="BC42316" Action="None" />
    <Rule Id="BC42317" Action="None" />
    <Rule Id="BC42318" Action="None" />
    <Rule Id="BC42319" Action="None" />
    <Rule Id="BC42320" Action="None" />
    <Rule Id="BC42321" Action="None" />
    <Rule Id="BC42322" Action="None" />
    <Rule Id="BC42324" Action="None" />
    <Rule Id="BC42326" Action="None" />
    <Rule Id="BC42327" Action="None" />
    <Rule Id="BC42328" Action="None" />
    <Rule Id="BC42332" Action="None" />
    <Rule Id="BC42333" Action="None" />
    <Rule Id="BC42334" Action="None" />
    <Rule Id="BC42335" Action="None" />
    <Rule Id="BC42336" Action="None" />
    <Rule Id="BC42337" Action="None" />
    <Rule Id="BC42338" Action="None" />
    <Rule Id="BC42339" Action="None" />
    <Rule Id="BC42340" Action="None" />
    <Rule Id="BC42341" Action="None" />
    <Rule Id="BC42342" Action="None" />
    <Rule Id="BC42343" Action="None" />
    <Rule Id="BC42344" Action="None" />
    <Rule Id="BC42345" Action="None" />
    <Rule Id="BC42346" Action="None" />
    <Rule Id="BC42347" Action="None" />
    <Rule Id="BC42348" Action="None" />
    <Rule Id="BC42349" Action="None" />
    <Rule Id="BC42350" Action="None" />
    <Rule Id="BC42351" Action="None" />
    <Rule Id="BC42352" Action="None" />
    <Rule Id="BC42353" Action="None" />
    <Rule Id="BC42354" Action="None" />
    <Rule Id="BC42355" Action="None" />
    <Rule Id="BC42356" Action="None" />
    <Rule Id="BC42357" Action="None" />
    <Rule Id="BC42358" Action="None" />
    <Rule Id="BC42359" Action="None" />
    <Rule Id="BC42360" Action="None" />
    <Rule Id="BC42361" Action="None" />
    <Rule Id="BC42364" Action="None" />
    <Rule Id="BC42366" Action="None" />
    <Rule Id="BC42367" Action="None" />
    <Rule Id="BC42368" Action="None" />
    <Rule Id="BC42369" Action="None" />
    <Rule Id="BC42370" Action="None" />
    <Rule Id="BC42371" Action="None" />
    <Rule Id="BC42372" Action="None" />
    <Rule Id="BC42373" Action="None" />
    <Rule Id="BC42374" Action="None" />
    <Rule Id="BC42375" Action="None" />
    <Rule Id="BC42376" Action="None" />
    <Rule Id="BC42377" Action="None" />
    <Rule Id="BC42378" Action="None" />
    <Rule Id="BC42379" Action="None" />
    <Rule Id="CS2008" Action="Error" />
    <Rule Id="CS2023" Action="Error" />
    <Rule Id="CS2029" Action="Error" />
    <Rule Id="CS2038" Action="Error" />
  </Rules>
  <Rules AnalyzerId="Microsoft.CodeAnalysis.VisualBasic.EditorFeatures" RuleNamespace="Microsoft.CodeAnalysis.VisualBasic.EditorFeatures">
    <Rule Id="IDE0032" Action="None" />
    <Rule Id="IDE0032WithoutSuggestion" Action="None" />
  </Rules>
  <Rules AnalyzerId="Microsoft.CodeAnalysis.VisualBasic.Features" RuleNamespace="Microsoft.CodeAnalysis.VisualBasic.Features">
    <Rule Id="IDE0001" Action="Error" />
    <Rule Id="IDE0002" Action="Error" />
    <Rule Id="IDE0003" Action="Error" />
    <Rule Id="IDE0004" Action="Error" />
    <Rule Id="IDE0005" Action="Error" />
    <Rule Id="IDE0009" Action="Error" />
    <Rule Id="IDE0009WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0012" Action="Error" />
    <Rule Id="IDE0013" Action="Error" />
    <Rule Id="IDE0014" Action="Error" />
    <Rule Id="IDE0015" Action="Error" />
    <Rule Id="IDE0017" Action="Error" />
    <Rule Id="IDE0017WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0028" Action="Error" />
    <Rule Id="IDE0028WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0029" Action="Error" />
    <Rule Id="IDE0029WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0030" Action="Error" />
    <Rule Id="IDE0030WithoutSuggestion" Action="Error" />
    <Rule Id="IDE0031" Action="Error" />
    <Rule Id="IDE0031WithoutSuggestion" Action="Error" />
    <Rule Id="IDE1006" Action="Error" />
    <Rule Id="IDE1006WithoutSuggestion" Action="Error" />
  </Rules>
  <Rules AnalyzerId="Microsoft.VisualStudio.Azure.Fabric.DiagnosticAnalyzers" RuleNamespace="Microsoft.VisualStudio.Azure.Fabric.DiagnosticAnalyzers">
    <Rule Id="SF1001" Action="Error" />
    <Rule Id="SF1002" Action="Error" />
  </Rules>
  <Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
    <!--Documentation rules. Rules which verify the content and formatting of code documentation.-->
    <Rule Id="SA1600" Action="Error" />
    <Rule Id="SA1601" Action="Error" />
    <Rule Id="SA1602" Action="Error" />
    <Rule Id="SA1603" Action="Error" />
    <Rule Id="SA1604" Action="Error" />
    <Rule Id="SA1605" Action="Error" />
    <Rule Id="SA1606" Action="Error" />
    <Rule Id="SA1607" Action="Error" />
    <Rule Id="SA1608" Action="Error" />
    <Rule Id="SA1609" Action="Error" />
    <Rule Id="SA1610" Action="Error" />
    <Rule Id="SA1611" Action="Error" />
    <Rule Id="SA1612" Action="Error" />
    <Rule Id="SA1613" Action="Error" />
    <Rule Id="SA1614" Action="Error" />
    <Rule Id="SA1615" Action="Error" />
    <Rule Id="SA1616" Action="Error" />
    <Rule Id="SA1617" Action="Error" />
    <Rule Id="SA1618" Action="Error" />
    <Rule Id="SA1619" Action="Error" />
    <Rule Id="SA1620" Action="Error" />
    <Rule Id="SA1621" Action="Error" />
    <Rule Id="SA1622" Action="Error" />
    <Rule Id="SA1623" Action="Error" />
    <Rule Id="SA1624" Action="Error" />
    <Rule Id="SA1625" Action="Error" />
    <Rule Id="SA1626" Action="Error" />
    <Rule Id="SA1627" Action="Error" />
    <Rule Id="SA1628" Action="Error" />
    <Rule Id="SA1629" Action="Error" />
    <Rule Id="SA1630" Action="Error" />
    <Rule Id="SA1631" Action="Error" />
    <Rule Id="SA1632" Action="Error" />
    <Rule Id="SA1633" Action="Error" />
    <Rule Id="SA1634" Action="Error" />
    <Rule Id="SA1635" Action="Error" />
    <Rule Id="SA1636" Action="Error" />
    <Rule Id="SA1637" Action="Error" />
    <Rule Id="SA1638" Action="Error" />
    <Rule Id="SA1639" Action="None" />
    <Rule Id="SA1640" Action="Error" />
    <Rule Id="SA1641" Action="Error" />
    <Rule Id="SA1642" Action="Error" />
    <Rule Id="SA1643" Action="Error" />
    <Rule Id="SA1644" Action="Error" />
    <Rule Id="SA1645" Action="Error" />
    <Rule Id="SA1646" Action="Error" />
    <Rule Id="SA1647" Action="Error" />
    <Rule Id="SA1648" Action="Error" />
    <Rule Id="SA1649" Action="Error" />
    <Rule Id="SA1652" Action="Error" />

    <!--Layout rules. Rules which enforce code layout and line spacing.-->
    <Rule Id="SA1500" Action="Error" />
    <Rule Id="SA1501" Action="Error" />
    <Rule Id="SA1502" Action="Error" />
    <Rule Id="SA1503" Action="Error" />
    <Rule Id="SA1504" Action="Error" />
    <Rule Id="SA1505" Action="Error" />
    <Rule Id="SA1506" Action="Error" />
    <Rule Id="SA1507" Action="Error" />
    <Rule Id="SA1508" Action="Error" />
    <Rule Id="SA1509" Action="Error" />
    <Rule Id="SA1510" Action="Error" />
    <Rule Id="SA1511" Action="Error" />
    <Rule Id="SA1512" Action="Error" />
    <Rule Id="SA1513" Action="Error" />
    <Rule Id="SA1514" Action="Error" />
    <Rule Id="SA1515" Action="Error" />
    <Rule Id="SA1516" Action="Error" />
    <Rule Id="SA1517" Action="Error" />
    <Rule Id="SA1518" Action="Error" />

    <!--Maintainability rules.Rules which improve code maintainability.-->
    <Rule Id="SA1119" Action="Error" />
    <Rule Id="SA1400" Action="Error" />
    <Rule Id="SA1401" Action="Error" />
    <Rule Id="SA1402" Action="Error" />
    <Rule Id="SA1403" Action="Error" />
    <Rule Id="SA1404" Action="Error" />
    <Rule Id="SA1405" Action="Error" />
    <Rule Id="SA1406" Action="Error" />
    <Rule Id="SA1407" Action="Error" />
    <Rule Id="SA1408" Action="Error" />
    <Rule Id="SA1409" Action="Error" />
    <Rule Id="SA1410" Action="Error" />
    <Rule Id="SA1411" Action="Error" />

    <!--Naming rules.Rules which enforce naming requirements for members, types, and variables.-->
    <Rule Id="SA1301" Action="Error" />
    <Rule Id="SA1302" Action="Error" />
    <Rule Id="SA1303" Action="Error" />
    <Rule Id="SA1304" Action="Error" />
    <Rule Id="SA1305" Action="Error" />
    <Rule Id="SA1306" Action="Error" />
    <Rule Id="SA1307" Action="Error" />
    <Rule Id="SA1308" Action="Error" />
    <Rule Id="SA1309" Action="Error" />
    <Rule Id="SA1310" Action="Error" />

    <!--Ordering rules.Rules which enforce a standard ordering scheme for code contents.-->
    <Rule Id="SA1200" Action="Error" />
    <Rule Id="SA1201" Action="Error" />
    <Rule Id="SA1202" Action="Error" />
    <Rule Id="SA1203" Action="Error" />
    <Rule Id="SA1204" Action="Error" />
    <Rule Id="SA1205" Action="Error" />
    <Rule Id="SA1206" Action="Error" />
    <Rule Id="SA1207" Action="Error" />
    <Rule Id="SA1208" Action="Error" />
    <Rule Id="SA1209" Action="Error" />
    <Rule Id="SA1210" Action="Error" />
    <Rule Id="SA1211" Action="Error" />
    <Rule Id="SA1212" Action="Error" />
    <Rule Id="SA1213" Action="Error" />

    <!--Readability rules.Rules which ensure that the code is well-formatted and readable.-->
    <Rule Id="SA1100" Action="Error" />
    <Rule Id="SA1101" Action="Error" />
    <Rule Id="SA1102" Action="Error" />
    <Rule Id="SA1103" Action="Error" />
    <Rule Id="SA1104" Action="Error" />
    <Rule Id="SA1105" Action="Error" />
    <Rule Id="SA1106" Action="Error" />
    <Rule Id="SA1107" Action="Error" />
    <Rule Id="SA1108" Action="Error" />
    <Rule Id="SA1109" Action="Error" />
    <Rule Id="SA1110" Action="Error" />
    <Rule Id="SA1111" Action="Error" />
    <Rule Id="SA1112" Action="Error" />
    <Rule Id="SA1113" Action="Error" />
    <Rule Id="SA1114" Action="Error" />
    <Rule Id="SA1115" Action="Error" />
    <Rule Id="SA1116" Action="Error" />
    <Rule Id="SA1117" Action="Error" />
    <Rule Id="SA1118" Action="Error" />
    <Rule Id="SA1120" Action="Error" />
    <Rule Id="SA1121" Action="Error" />
    <Rule Id="SA1122" Action="Error" />
    <Rule Id="SA1123" Action="Error" />
    <Rule Id="SA1124" Action="Error" />
    <Rule Id="SA1125" Action="Error" />

    <!--Spacing rules.Rules which enforce spacing requirements around keywords and symbols in the code.-->
    <Rule Id="SA1000" Action="Error" />
    <Rule Id="SA1001" Action="Error" />
    <Rule Id="SA1002" Action="Error" />
    <Rule Id="SA1003" Action="Error" />
    <Rule Id="SA1004" Action="Error" />
    <Rule Id="SA1005" Action="Error" />
    <Rule Id="SA1006" Action="Error" />
    <Rule Id="SA1007" Action="Error" />
    <Rule Id="SA1008" Action="Error" />
    <Rule Id="SA1009" Action="Error" />
    <Rule Id="SA1010" Action="Error" />
    <Rule Id="SA1011" Action="Error" />
    <Rule Id="SA1012" Action="Error" />
    <Rule Id="SA1013" Action="Error" />
    <Rule Id="SA1014" Action="Error" />
    <Rule Id="SA1015" Action="Error" />
    <Rule Id="SA1016" Action="Error" />
    <Rule Id="SA1017" Action="Error" />
    <Rule Id="SA1018" Action="Error" />
    <Rule Id="SA1019" Action="Error" />
    <Rule Id="SA1020" Action="Error" />
    <Rule Id="SA1021" Action="Error" />
    <Rule Id="SA1022" Action="Error" />
    <Rule Id="SA1023" Action="Error" />
    <Rule Id="SA1024" Action="Error" />
    <Rule Id="SA1025" Action="Error" />
    <Rule Id="SA1026" Action="Error" />
    <Rule Id="SA1027" Action="Error" />
    <Rule Id="SA1028" Action="Error" />
  </Rules>
</RuleSet><span 				data-mce-type="bookmark" 				id="mce_SELREST_start" 				data-mce-style="overflow:hidden;line-height:0" 				style="overflow:hidden;line-height:0" 			></span>

3. Agregar el archivo .ruleset

Editar el archivo del proyecto manualmente para agregar el archivo .ruleset

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
 <TargetFramework>netstandard1.6</TargetFramework>
 <CodeAnalysisRuleSet>StyleCop.ruleset</CodeAnalysisRuleSet>
 </PropertyGroup>

<!--Otros elementos aqui, etc..-->

</Project>

4. Configuración para stylecop

Finalmente, para terminar configurar algunos valores de documentación como el copyright, será necesario agregar otro archivo, en formato json.

En mi caso, este archivo lo llamo stylecop.json, y contiene lo siguiente:

{
 "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
 "settings": {
 "documentationRules": {
 "companyName": "Company Name",
 "copyrightText": "Copyright (c). All rights reserved."
 }
 }
}

Una vez creado el archivo, se debe modificar su propiedad Build Action a C# analyzer additional file.

stylecopJsonProperty

¡Listo!, después de esto, ya debería dejar de compilar todo 😛

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s