使用VS2012 Express禁用StyleCop规则

时间:2013-11-06 04:03:19

标签: visual-studio-2012 msbuild stylecop rule

我使用的是Visual Studio 2012 Express,因此无法访问VS的常规版本的集成。我使用了MSBuild to integrate StyleCop,规则显示为警告。我希望能够禁用规则。 Disabling StyleCop rules帖子显示这是可能的,但我无法理解编辑 Settings.StyleCop 文件的答案。但是,我不明白需要添加到此文件中以禁用规则。

如果我想禁用规则SA1649,我将如何更新以下文件?

<StyleCopSettings Version="4.3">
  <GlobalSettings>
    <CollectionProperty Name="DeprecatedWords">
      <Value>preprocessor,pre-processor</Value>
      <Value>shortlived,short-lived</Value>
    </CollectionProperty>
  </GlobalSettings>
  <Parsers>
    <Parser ParserId="StyleCop.CSharp.CsParser">
      <ParserSettings>
        <CollectionProperty Name="GeneratedFileFilters">
          <Value>\.g\.cs$</Value>
          <Value>\.generated\.cs$</Value>
          <Value>\.g\.i\.cs$</Value>
        </CollectionProperty>
      </ParserSettings>
    </Parser>
  </Parsers>
  <Analyzers>
    <Analyzer AnalyzerId="StyleCop.CSharp.NamingRules">
      <AnalyzerSettings>
        <CollectionProperty Name="Hungarian">
          <Value>as</Value>
          <Value>do</Value>
          <Value>id</Value>
          <Value>if</Value>
          <Value>in</Value>
          <Value>is</Value>
          <Value>my</Value>
          <Value>no</Value>
          <Value>on</Value>
          <Value>to</Value>
          <Value>ui</Value>
        </CollectionProperty>
      </AnalyzerSettings>
    </Analyzer>
  </Analyzers>
</StyleCopSettings>

注意:我使用的是版本4.7,即使默认设置文件显示为4.3

2 个答案:

答案 0 :(得分:0)

我找到了edit a stylecop rule in the XML

的以下文档

下面是XML代码段。

<StyleCopSettings Version="4.3">
  <Analyzers>
    <Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.LayoutRules">
      <Rules>
        <Rule Name="StatementMustNotBeOnSingleLine">
          <RuleSettings>
            <BooleanProperty Name="Enabled">False</BooleanProperty>
          </RuleSettings>
        </Rule>
        <Rule Name="ElementMustNotBeOnSingleLine">
          <RuleSettings>
            <BooleanProperty Name="Enabled">False</BooleanProperty>
          </RuleSettings>
        </Rule>
      </Rules>
      <AnalyzerSettings />
    </Analyzer>
  </Analyzers>
</StyleCopSettings>

此外,我还发现您可以将Settings.Sytlecop文件拖到StyleCopSettingsEditor.exe上,该{{1}}会显示启用和禁用规则的GUI。

答案 1 :(得分:0)

将以下代码粘贴到记事本中并另存为settings.StyleCop并将其放在解决方案文件夹中并构建

<StyleCopSettings Version="105">
  <GlobalSettings>
    <BooleanProperty Name="RulesEnabledByDefault">False</BooleanProperty>
  </GlobalSettings>
</StyleCopSettings>