21

我在我的代码中包含了第 3 方 .cs 文件。它不符合 StyleCop 的规则,但我迫切需要能够从 StyleCop 的检查中排除它,但到目前为止我发现的任何方法都不起作用。

这里记录了三种方法:http: //sethflowers.com/blog/force-stylecop-to-ignore-a-file/ .. 但这些方法似乎都不适用于 StyleCop 4.7

其中最有用的是 .csproj 中的这种方法:

<Compile Include="AViolatingFile.cs">
    <ExcludeFromStyleCop>true</ExcludeFromStyleCop>
</Compile>

但是尽管添加了文件,StyleCop 在解析这个文件时仍然会导致编译错误。

4

5 回答 5

32
// <auto-generated/>

把它放在班级的顶部

Style cop 忽略自动生成的代码

于 2014-11-26T12:58:26.590 回答
2

我之前也使用过 stylecop,我相信您必须在您的 csproj 文件中使用以下行:

<Import Project="$(MSBuildExtensionsPath)\StyleCop\v4.6\StyleCop.targets" Condition="Exists('$(MSBuildExtensionsPath)\StyleCop\v4.6\StyleCop.targets')" />

您还需要将 xml 声明中的版本号更改为您安装的任何版本。

希望这可以帮助。

于 2013-05-30T17:01:21.740 回答
1

Atm,我正在从 Xamarin Studio 运行 StyleCop 4.7.49,并且我有一些无法控制的可怕的自动生成文件(看着你 ¬-netfx-System.StringFormatWith)...

我的解决方案是只禁用该文件的所有规则......怎么做?

您必须修改文件Settings.StyleCop并在StyleCopSettings标签内插入以下内容

<SourceFileList>
    <SourceFile>HideousClass.cs</SourceFile>
    <Settings>
        <GlobalSettings>
        <BooleanProperty Name="RulesEnabledByDefault">False</BooleanProperty>
        </GlobalSettings>
    </Settings>
</SourceFileList>

更改HideousClass.cs为您想要的文件。SourceFile如果您想一次为各种文件设置规则,您也可以有多个标签。

取自CodePlex.com 上 StyleCop 的使用文件列表(请参阅“示例”下的“禁用文件子集的所有规则”)。

如果您只想为某些文件启用或禁用某些规则,则可以使用与上述方法类似的方法。

于 2015-06-04T06:24:01.437 回答
1

任何仍然在这个问题上拉头发的人,我做了以下事情:

.editorconfig

例子:

[SpecFlow.Plus.Runner.AssemblyHooks.cs]
dotnet_diagnostic.SA1633.severity = none
dotnet_diagnostic.CS1591.severity = none
于 2020-08-17T08:44:18.580 回答
-2
// <auto-generated/>

把它放在命名空间之上,这应该很好。

于 2021-05-05T22:08:31.707 回答