Nam*_* VU 54 .net c# stylecop visual-studio-2010
我正在使用StyleCop并希望抑制一些不符合我风格的警告.我更喜欢有解决方案
1)在线代码抑制
2)全局设置抑制
我搜索过互联网,但仍不确定如何进行压制.
方法1),他们说添加线:
[assembly:SuppressMessage("Microsoft.Design","SA1202:所有私有方法必须放在所有公共方法之后",Scope ="namespace",Target ="Consus.Client.ClientVaultModule.Services.OnlineDetection")]
但他们没有说明要使用的名称空间和名称.
对于方法2),他们说使用GlobalSuppress文件,但目前似乎不容易搜索如何操作.
请帮忙.
[已编辑]就我而言,我收到了关于SA1202的警告:由于我将相关代码分组到区域,因此必须在所有公共方法之后放置所有私有方法.我想仅针对某些方法来抑制这些警告.
小智 47
这就是你需要的:
[SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1202:ElementsMustBeOrderedByAccess")]
Run Code Online (Sandbox Code Playgroud)
Sky*_*ers 21
内联抑制的一个例子与此类似 - 检查代码中的命名空间与抑制相比
namespace Soapi
{
///<summary>
///</summary>
///<param name = "message"></param>
///<param name = "statusCode"></param>
///<param name = "innerException"></param>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "System.String.Format(System.String,System.Object,System.Object)")]
public ApiException(string message, ErrorCode statusCode, Exception innerException)
: base(String.Format("{0}\r\nStatusCode:{1}", message, statusCode), innerException)
{
this.statusCode = statusCode;
}
Run Code Online (Sandbox Code Playgroud)
全局抑制文件是项目根目录中的文件GlobalSuppressions.cs,可能如下所示:
// This file is used by Code Analysis to maintain SuppressMessage
// attributes that are applied to this project.
// Project-level suppressions either have no target or are given
// a specific target and scoped to a namespace, type, member, etc.
//
// To add a suppression to this file, right-click the message in the
// Error List, point to "Suppress Message(s)", and click
// "In Project Suppression File".
// You do not need to add suppressions to this file manually.
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "System.String.Format(System.String,System.Object,System.Object,System.Object)", Scope = "member", Target = "Soapi.ApiException.#.ctor(System.String,Soapi.ErrorCode,System.String,System.Exception)")]
Run Code Online (Sandbox Code Playgroud)
您可以通过右键单击警告自动生成此代码.
从StyleCop 4.3.2开始,可以通过在源代码中添加抑制属性来抑制规则违规的报告.
规则抑制 http://stylecop.soyuz5.com/Suppressions.html
但它说 -
全球抑制
StyleCop不支持全局抑制或文件级抑制的概念.抑制必须放在代码元素上.
如果您已经安装了StyleCop,则可以右键单击您的项目,然后会有一个StyleCop选项.单击此按钮,您将看到可以阻止某些规则甚至针对您的项目运行.此外,您可以创建单独的规则文件以在不同项目之间共享.这意味着您可以按照您希望的方式配置规则,然后在所有项目之间共享该配置.
对于个人覆盖,SuppressMessage是要走的路.
阅读Style Cop的警告,寻找字母数字代码。您的情况是“ SA1202”。然后浏览到Style Cop网站上的相应页面。适当更改URL https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1202.md
复制标有“如何禁止违规”的行。将属性粘贴到有关Style Cop抱怨的类上方
[SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1202:ElementsMustBeOrderedByAccess", Justification = "Reviewed.")]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50833 次 |
| 最近记录: |