1styleCop安装

安装参考

2和VS集成

要和vs集成一定要在安装时把MSBuild files那个选项选中的,否则安装后是不会和VS集成集成的。

3styleCop使用

User Guide

4在项目中使用stylecop和把警告改为错误

在后缀为.csproj的文件添加如下一行,就可以使用styleCop主动检测项目了,但默认不符合规则的都是警告,注意需要在安装styleCop时选择与VS集成的那一部分,此部分默认是不安装的,否则这个项目用VS打开就会有问题,会提示不能识别某一节,不能打开。

  1. <ImportProject="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets"/>

styleCop把检测出来的问题默认设置为警告,如果要改为错误需要使用记事本之类的工具打开项目文件,也就是后缀为.csproj的文件,添加如下代码。请参考如下,

  1. <PropertyGroup>
  2. <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  3. <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
  4. <ProductVersion>8.0.50727</ProductVersion>
  5. <SchemaVersion>2.0</SchemaVersion>
  6. <ProjectGuid>{4B4DB6AA-A021-4F95-92B7-B88B5B360228}</ProjectGuid>
  7. <OutputType>WinExe</OutputType>
  8. <AppDesignerFolder>Properties</AppDesignerFolder>
  9. <RootNamespace>SampleProject</RootNamespace>
  10. <AssemblyName>SampleProject</AssemblyName>
  11. <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
  12. </PropertyGroup>

      目前发现RootNamespace,AssemblyName 两节的值,没理解到底应该替换为什么,只是参考其他的PropertyGroup的节改写了一下就可以了 。

或者使用更简单的方法,在文件中的第一个 PropertyGroup节中添加如下代码  ,其实和上边的方法基本一样,只是没有添加PropertyGroup,而是在已有的第一个PropertyGroup节中添加如下一行代码罢了。

  1. <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>

注意:如果需要把警告改为错误,则必须添加如下一行,否则以上两种方法都没作用。


  1. <Import Project="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets" />

5规则的应用顺序

据说是首先是项目下的规则文件,然后是styleCop安装目录下的规则文件,还有一个MSBuild\Microsoft\StyleCop\下的规则文件不知道什么顺序,我个人也不是很清楚,也没有找到相关文档,希望知道的朋友告诉一声。

规则应用顺序参考

styleCop的更多相关文章

  1. 使用StyleCop进行代码审查

    使用StyleCop进行代码审查 工欲善其事,必先利其器,上篇简单介绍了怎样使用Astyle进行代码格式化,使编写的代码具有一致的风格.今天简单介绍下怎样使用StyleCop对原代码进行审查,看编写的 ...

  2. 代码审查工具StyleCop

    “代码审查”或是“代码评审”(Code Review),这是一个流程,当开发人员写好代码后,需要让别人来review一下他的代码,这是一种有效发现BUG的方法.由此,我们可以审查代码的风格.逻辑.思路 ...

  3. Force StyleCop to Ignore a File

    You can quickly force StyleCop to ignore files in a project by manually modifying the project file, ...

  4. StyleCop源码分析

    前言: 由于最近在进行项目配置,配置内容:根据一个结构体,一一对应地配置xml文件(两个) 写一个和此结构体对应的类(只包含属性,字段).反复配置后,觉得太繁琐,因此想到使用程序完成自动配置,网上搜索 ...

  5. 自定义StyleCop规则

    参考:StyleCopSDK.chm与 Byeah的 编写StyleCop自定义规则教程(一)---编写中文备注的简单校验规则 1.建立“类库”类型的C#项目 2.加入 Microsoft.Style ...

  6. [Tool] 使用StyleCop验证命名规则

    [Tool] 使用StyleCop验证命名规则 前言 微软的MSDN上,有提供了一份微软的命名方针,指引开发人员去建立风格一致的程序代码. http://msdn.microsoft.com/zh-t ...

  7. Skip StyleCop Warnings.

    [SuppressMessage("Microsoft.StyleCop.CSharp.MaintainabilityRules", "SA1401:FieldsMust ...

  8. TFS build dotCover StyleCop

    FS2010 – Customizing the Build Details View – Summary View http://blogs.msdn.com/b/jpricket/archive/ ...

  9. StyleCop学习笔记——默认的规则

    在StyleCop中有一些官方自己写好的检测规则下面就是英文的解释 文档规则 1.SA1600:ElementsMustBeDocumented元素必须添加注释 2.SA1601: PartialEl ...

随机推荐

  1. EPLAN Electric P8 2.0即将到来,着实令人期待-转caodaping

    在今年的4月份,2.0版本的EPLAN Electric P8 首次揭开其神秘面纱,见诸于世.它的展露,再次印证了EPLAN 软件平台朝着"更实用"这一方向发展,同时也证明&quo ...

  2. C++中文件按行读取和逐词读取 backup

    http://blog.csdn.net/zhangchao3322218/article/details/7930857 #include  <iostream>#include  &l ...

  3. cocos2dx在ubuntu下配置声音引擎

    声音引擎库和cocos2dx的库是分开的我们要使用的时候不得不重新修改一下makefile,首先我们要找到声音引擎库的位置,在cocos2dx的 根目录下有一个lib文件,看一下是否存在libcoco ...

  4. 关于IT概念的一些思考

    同事提及“软件工程.软件生命周期.项目管理.CMMI.IPD.RUP.UML及UML建模.面向对象分析与设计.需求分析.系统分析与设计……等等,它们到底是什么?它们之间有什么关系?”   下面是个人见 ...

  5. 用SQL server导出到oracle,查询时提示“表或视图不存在ORA-00942”错误

    用SQL server2005的导出工具,将数据导出表到oracle,表名称里看到有这张表了,但查询或删除时都提示“ORA-00942表或者试图不存在”的错误,上网查了一下,是如下原因: “查询或删除 ...

  6. CSS代码原则

    css的团队合作规则以及怎样写出高性能的css代码. 一.使用Reset但并非全局Reset 同浏览器元素的默认属性有所不同,使用Reset可重置浏览器元素的一些默认属性,以达到浏览器的兼容.但需要注 ...

  7. 【Java】深入理解ThreadLocal

    一.前言 要理解ThreadLocal,首先必须理解线程安全.线程可以看做是一个具有一定独立功能的处理过程,它是比进程更细度的单位.当程序以单线程运行的时候,我们不需要考虑线程安全.然而当一个进程中包 ...

  8. 如何修改Windows Azure Web App的时区

    Windows Azure的时区默认使用UTC,如果是VM可以直接修改,但Azure Web Apps的隔离性导致我们无法进行设置.应用系统使用DateTime.Now的地方很多,不可能做出一一修改. ...

  9. 清除SQL数据库的日志

    ALTER DATABASE [Fuliu_Test] SET RECOVERY SIMPLEALTER DATABASE [Fuliu_Test] SET RECOVERY FULLDBCC SHR ...

  10. ruby AES加密解密

    最近和京东合作做一个项目,在接口对接传递参数时,参数需要通过AES加密解密. 本来想到用gem 'aescrypt'处理,但是aescrypt的编码方式用的base64,而京东那边用的是16进制.所以 ...