C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C#StyleCop MSBuild全局文化设置无法获取大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经设置了我的C#项目文件来导入一个StyleCop.Targets项目,该项目在构建时运行所有StyleCop规则.这很棒,我在通过Visual studio进行编译时将项目误差为零.

但是,当我通过MSBuild编译(在同一台机器上)时,我得到的错误是:

构造函数摘要标记中的文档文本必须以文本开头:初始化< see cref =“MyClass”/>的新实例.类.

在初始化时关注’Z’…我已经使用en-GB全局设置配置了我的SetTings.StyleCop,这样我就不会在代码中获得有关Americanisms的错误.但是我无法理解为什么这会导致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>

有线索吗?

干杯!

解决方法

我假设您正在使用最新版本的StyleCop(4.7.41.0)或接近该版本的版本. 4.7版本系列中有很多更改和修复,并且已经发布了相当规律的更新.

我猜测文件夹层次结构中必须有另一个SetTings.StyleCop文件(在子文件夹中),该文件将文化设置回en-Us.修改此特定设置文件中的其他规则(如TabsMustNotBeUsed)仍将按预期运行,只要您不在其他设置文件中再次设置它.可能的原因可能是正在运行StyleCop的工作文件夹.

我建议您在文件系统中进行快速扫描,看看是否可以找到任何其他设置文件,如果找到,请检查他们的文化设置.

我做的另一个技巧是停止在解决方案根目录下合并设置文件.这可以通过添加以下设置来完成:

<GlobalSetTings>
    <StringProperty Name="MergeSetTingsFiles">NoMerge</StringProperty>
</GlobalSetTings>

这将确保StyleCop在所有开发和构建计算机上的行为相同,无论在层次结构的更高层配置的设置如何(例如StyleCop应用程序文件夹中的设置).但是,如果执行此操作,请确保从不再合并的文件中复制所有必需的设置.从您的描述中我怀疑这将解决这个特定问题,但我发现它有助于保持规则一致性.

大佬总结

以上是大佬教程为你收集整理的C#StyleCop MSBuild全局文化设置无法获取全部内容,希望文章能够帮你解决C#StyleCop MSBuild全局文化设置无法获取所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。