我一直在运行StyleCop而不是一些C#代码,并且它一直报告我的using指令应该在命名空间内.
是否存在将using指令放入命名空间而不是命名空间外的技术原因?
Stylecop取代了FXcop吗?我们应该在Visual Studio 2008中使用哪种产品?
我正在使用StyleCop.但是我想忽略一些规则,例如this.在班级成员面前使用.
如何关闭StyleCop规则.我看了但是找不到怎么做.
我在Visual Studio的项目中使用了以前的StyleCop + FxCop.但现在我正在测试Visual Studio代码分析工具,它更容易集成到MSBuild中,我发现这个工具分析了FxCop和StyleCop的一些规则.
这个工具是FxCop和StyleCop的完全替代品还是只是实现了一些规则?
我一直在尝试遵循StyleCop关于项目的指导原则,看看最终的代码是否更好.大多数规则都是合理的,或者是关于编码标准的意见问题,但有一条规则让我感到困惑,因为我没有看到其他人推荐它,而且因为我没有看到明显的好处:
SA1101:对{method或property name}的调用必须以'this'开头.前缀表示该项是该类的成员.
在缺点方面,代码显然更加冗长,遵循该规则有什么好处?这里有人遵循这条规则吗?
观察:
在我们的Jenkins构建服务器上,我们看到很多msbuild.exe进程(~100)在作业完成后闲置,大约20mb内存使用率和0%CPU活动.
使用不同版本的stylecop的构建间歇性地失败:
workspace\packages\StyleCop.MSBuild.4.7.41.0\tools\StyleCop.targets(109,7):
error MSB4131: The "ViolationCount" parameter is not supported by the "StyleCopTask" task.
Verify the parameter exists on the task, and it is a gettable public instance property.
Nuget.exe 间歇性地退出,出现以下访问冲突错误(0x0000005):
.\workspace\.nuget\nuget install .\workspace\packages.config -o .\workspace\packages"
exited with code -1073741819.
MsBuild通过Jenkins Matrix作业以下列方式启动,启用了"BuildInParallel":
`msbuild /t:%Targets% /m
/p:Client=%Client%;LOCAL_BUILD=%LOCAL_BUILD%;BUILD_NUMBER=%BUILD_NUMBER%;
JOB_NAME=%JOB_NAME%;Env=%Env%;Configuration=%Configuration%;Platform=%Platform%;
Clean=%Clean%; %~dp0\_Jenkins\Build.proj`
Run Code Online (Sandbox Code Playgroud) 我想知道是否有办法将ReSharper中的所有设置(包括用于ReSharper设置的StyleCop和我为ReSharper设置的键盘绑定)从一台PC复制到另一台PC?
我在obj/debug中创建了3个临时文件:
例如
(即使在解决方案清洁后,指导似乎也没有改变)
我的构建失败了因为:
SA1633:文件没有标题,标题Xml无效,或标题不在文件顶部.
我不想关闭StyleCop规则.如何找出创建这些临时文件的内容?
该站点是一个asp.net MVC 4站点,有5个模型,4个控制器,2个类,2个aspx网页和1个服务引用,在数字上似乎与3个文件不符.
有什么指针吗?
编辑:如果我将框架从4.5更改回4,这些文件就会消失,构建成功.
我的StyleCop版本是4.4,我更愿意找到一种让它忽略obj/debug的方法
我正在使用StyleCop并希望抑制一些不符合我风格的警告.我更喜欢有解决方案
1)在线代码抑制
2)全局设置抑制
我搜索过互联网,但仍不确定如何进行压制.
方法1),他们说添加线:
[assembly:SuppressMessage("Microsoft.Design","SA1202:所有私有方法必须放在所有公共方法之后",Scope ="namespace",Target ="Consus.Client.ClientVaultModule.Services.OnlineDetection")]
但他们没有说明要使用的名称空间和名称.
对于方法2),他们说使用GlobalSuppress文件,但目前似乎不容易搜索如何操作.
请帮忙.
[已编辑]就我而言,我收到了关于SA1202的警告:由于我将相关代码分组到区域,因此必须在所有公共方法之后放置所有私有方法.我想仅针对某些方法来抑制这些警告.
没有在StyleCop帮助手册中找到它,在SO和Google上,所以这里是;)
在StyleCop使用期间,我有一个警告:
SA1121 - UseBuiltInTypeAlias - 可读性规则
代码使用其中一种基本C#类型,但不使用该类型的内置别名.
不应使用类型名称或完全限定类型名称,应始终使用这些类型的内置别名:bool,byte,char,decimal,double,short,int,long,object,sbyte,float,string ,ushort,uint,ulong.
所以String.Empty是错的(取决于上述规则)并且string.Empty是好的.
为什么使用内置别名更好?可以String. Int32,Int64(等)在特殊情况下的代码中复杂化吗?
stylecop ×10
c# ×6
.net ×3
fxcop ×2
.net-4.5 ×1
asp.net-mvc ×1
coding-style ×1
msbuild ×1
namespaces ×1
nuget ×1
resharper ×1
rules ×1