1styleCop安装,2和VS集成,3使用在项目中使用stylecop和把警告改为错误5规则的应用顺序
1styleCop安装
安装参考
2和VS集成
要和vs集成一定要在安装时把MSBuild files那个选项选中的,否则安装后是不会和VS集成集成的。
3styleCop使用
User Guide
4在项目中使用stylecop和把警告改为错误
在后缀为.csproj的文件添加如下一行,就可以使用styleCop主动检测项目了,但默认不符合规则的都是警告,注意需要在安装styleCop时选择与VS集成的那一部分,此部分默认是不安装的,否则这个项目用VS打开就会有问题,会提示不能识别某一节,不能打开。
<Import Project="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets" />
styleCop把检测出来的问题默认设置为警告,如果要改为错误需要使用记事本之类的工具打开项目文件,也就是后缀为.csproj的文件,添加如下代码。请参考如下,
<PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProductVersion>8.0.50727</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{4B4DB6AA-A021-4F95-92B7-B88B5B360228}</ProjectGuid> <OutputType>WinExe</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>SampleProject</RootNamespace> <AssemblyName>SampleProject</AssemblyName> <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings> </PropertyGroup>
目前发现RootNamespace,AssemblyName 两节的值,没理解到底应该替换为什么,只是参考其他的PropertyGroup的节改写了一下就可以了 。
或者使用更简单的方法,在文件中的第一个 PropertyGroup节中添加如下代码 ,其实和上边的方法基本一样,只是没有添加PropertyGroup,而是在已有的第一个PropertyGroup节中添加如下一行代码罢了。
<StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
注意:如果需要把警告改为错误,则必须添加如下一行,否则以上两种方法都没作用。
<Import Project="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets" />
5规则的应用顺序
据说是首先是项目下的规则文件,然后是styleCop安装目录下的规则文件,还有一个MSBuild\Microsoft\StyleCop\下的规则文件不知道什么顺序,我个人也不是很清楚,也没有找到相关文档,希望知道的朋友告诉一声。
规则应用顺序参考
Setting Up StyleCop MSBuild Integration
Hands-On Labs StyleCop and Code Analysis