我已经将我的 C# 项目文件设置为导入一个 StyleCop.Targets 项目,该项目在构建时运行所有 StyleCop 规则。这太棒了,通过 Visual Studio 编译时,我已将项目降低到零错误。
但是,当我通过 MSBuild(在同一台机器上)进行编译时,出现以下错误:
The documentation text within the constructor's summary tag must begin with the text: Initializes a new instance of the <see cref="MyClass" /> class.
关注初始化中的“Z”...我已经使用en-GB全局设置配置了我的 Settings.StyleCop,这样我就不会在代码中收到有关美国主义的错误。但是我无法理解为什么这会导致 MSBuild 出现错误。
我知道 MSBuild 使用相同的 Settings.StyleCop 文件,就好像我更改了一个规则(比如 TabsMustNotBeUsed)MSBuild(和 Visual Studio)选择了这个更改并在所有地方抛出错误。
我正在使用 StyleCop 4.7、Visual Studio 2012 和 MSBuild 4。
这是我的 Settings.StyleCop 文件的片段:
<StyleCopSettings Version="105">
<GlobalSettings>
<StringProperty Name="Culture">en-GB</StringProperty>
</GlobalSettings>
<Parsers>
<Parser ParserId="StyleCop.CSharp.CsParser">
<ParserSettings>
<BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty>
</ParserSettings>
</Parser>
</Parsers>
<Analyzers>
<Analyzer AnalyzerId="StyleCop.CSharp.SpacingRules">
<Rules>
<Rule Name="TabsMustNotBeUsed">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
</Analyzers>
</StyleCopSettings>
有什么线索吗?
干杯!