Dev*_*ave 1 fxcop stylecop suppress-warnings service-reference
我刚才问过类似的问题,关于从自动生成的代码Service References和Xml summary errors.发布了一个答案,建议我可以将Service Reference其添加到自己的项目中,然后它可以完全避免Xml摘要警告和Stylecop错误.
但我意识到我能够Xml通过设置Service Reference来解决问题,Internal现在我已经陷入了StyleCop错误.
我使用的是FxCop10.0版.
在我的项目的属性中,在"代码分析"选项卡中,我检查了选项
从生成的代码中抑制结果(仅限托管)
另外,通过查看Reference.cs文件中生成的代码,我看到代码使用以下属性进行修饰:
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
Run Code Online (Sandbox Code Playgroud)
.. Stylecop然后应该跳过,对吗?虽然这不起作用,但我仍然会StyleCop为生成的代码收到错误.
编辑:在生成的代码中也可以找到以下标题:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18033
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
那为什么不被忽视呢?
我也发现了这个问题并尝试在我的StyleCop设置中使用以下内容:
<CollectionProperty Name="GeneratedFileFilters">
<Value>Reference\.cs$</Value>
</CollectionProperty>
Run Code Online (Sandbox Code Playgroud)
但这也不起作用,我一直在努力使用正则表达式,但试图将以下值添加到上面的示例中,以使Stylecop忽略我生成的代码.
Reference.cs
\Reference\.cs
\Reference\.cs$
Reference\.cs$
Run Code Online (Sandbox Code Playgroud)
有谁知道如何抑制文件的所有Stylecop错误Reference.cs?
Edit2:为Reference.cs文件显示的错误:
错误1 CA1812:Microsoft.Performance:...是一个显然从未实例化的内部类.如果是这样,请从程序集中删除代码.如果此类仅包含静态方法,请考虑添加私有构造函数以防止编译器生成默认构造函数.
错误2 CA2239:Microsoft.Usage:添加'private void OnDeserialized(StreamingContext)'方法以键入...并使用System.Runtime.Serialization.OnDeserializedAttribute对其进行属性化.
错误4 CA1811:Microsoft.Performance:...似乎没有上游公共或受保护的呼叫者.
我有这3种错误中的27种.
编辑3:我有Style/Fx警察设置在构建上运行.我CODE_ANALYSIS在构建选项卡中添加了条件编译符号
"$(ProgramFiles)\Microsoft FxCop 10.0\FxCopCmd.exe" /file:"$(TargetPath)" /ruleid:-"Microsoft.Design#CA1006" /ruleid:-"Microsoft.Design#CA1020" /console /cul:en-GB /q /assemblyCompareMode:StrongNameIgnoringVersion
Run Code Online (Sandbox Code Playgroud)
...在Post-build event command line在Build Events标签.
CAxxxx错误来自FxCop,而不是StyleCop.如果它们出现在生成的代码中,并且您希望保留生成的代码而不更改生成器,则只需添加项目级排除项(例如:在GlobalSuppressions.cs中).
以下问题编辑#3:
由于您"手动"运行fxcopcmd.exe,因此根本不使用忽略生成代码的C#项目设置.您需要将/ignoregeneratedcode开关添加到fxcopcmd.exe命令行才能应用此命令.
| 归档时间: |
|
| 查看次数: |
1140 次 |
| 最近记录: |