C#和#x2B;StyleCop+;MSBuild+;无法拾取全局区域性设置
我已经将我的C#项目文件设置为导入一个StyleCop.Targets项目,该项目在构建时运行所有StyleCop规则。这很好,在通过VisualStudio编译时,我将项目的错误降至零 但是,当我通过MSBuild(在同一台计算机上)进行编译时,会出现以下错误:C#和#x2B;StyleCop+;MSBuild+;无法拾取全局区域性设置,c#,msbuild,culture,stylecop,C#,Msbuild,Culture,Stylecop,我已经将我的C#项目文件设置为导入一个StyleCop.Targets项目,该项目在构建时运行所有StyleCop规则。这很好,在通过VisualStudio编译时,我将项目的错误降至零 但是,当我通过MSBuild(在同一台计算机上)进行编译时,会出现以下错误: 构造函数摘要标记中的文档文本必须以文本开头:初始化类的新实例。 关注首字母缩写中的“Z”。。。我已使用en GB全局设置配置了我的Settings.StyleCop,这样我就不会在代码中出现关于美国化的错误。但是,我无法理解为什么这会
构造函数摘要标记中的文档文本必须以文本开头:初始化类的新实例。
关注首字母缩写中的“Z”。。。我已使用en GB全局设置配置了我的Settings.StyleCop,这样我就不会在代码中出现关于美国化的错误。但是,我无法理解为什么这会导致MSBuild中出现错误
我知道MSBuild使用的是相同的Settings.StyleCop文件,就好像我更改了一条规则(比如TabsMustNotBeUsed)一样。MSBuild(和Visual Studio)会拾取此更改并到处抛出错误
我正在使用StyleCop 4.7、Visual Studio 2012和MSBuild 4
以下是my 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>
欧洲标准
假的
假的
有什么线索吗
干杯 我假设您使用的是StyleCop的最新版本(4.7.41.0)或与之相近的版本。在4.7版本系列中有很多更改和修复,并且发布了相当定期的更新 我猜在文件夹层次结构的较低位置(在子文件夹中)一定有另一个Settings.StyleCop文件将区域性设置回en-US。只要不在其他设置文件中再次设置,修改此特定设置文件中的其他规则(如TabsMustNotBeUsed)仍将按预期进行。潜在原因可能是运行StyleCop的工作文件夹 我建议您在文件系统中快速扫描,看看是否可以找到任何其他设置文件,如果找到,请检查其区域性设置 我做的另一个技巧是停止在解决方案根目录下合并设置文件。这可以通过添加以下设置来完成:
<GlobalSettings>
<StringProperty Name="MergeSettingsFiles">NoMerge</StringProperty>
</GlobalSettings>
命名法
这将确保StyleCop在所有开发和构建机器上的行为相同,而不管在层次结构的更高层配置了什么设置(例如StyleCop应用程序文件夹中的设置)。但是,如果执行此操作,请确保从不再合并的文件中复制所有必需的设置。从您的描述中,我怀疑这是否能解决这个特殊问题,但我发现它有助于保持规则的一致性。一个月后重新审视这一点,正如您所说,有了一个更新版本的StyleCop。在更新并没有执行任何代码更改之后,本地化开始像一个符咒一样工作。我确实调查了设置从子文件夹中层叠下来的可能性,但在那里什么也看不到。为帮助干杯!请注意,安装文件夹中还有一个“默认”设置文件(很可能是
C:\Program Files\StyleCop 4.7
)。这通常包含顶级设置文件。