Is StyleCop 4.7 compatible with C# 6.0 code

雨燕双飞 提交于 2019-12-22 05:22:00

问题


I installed StyleCop 4.7 for developing customized rules, to analyze our C# code.

We write the code in Visual Studio 2015. I can analyze my C# 5.0 (Visual Studio 2013) code, and I get correct response, but when I analyze my C# 6.0 (Visual Studio 2015) code, StyleCop raises an exception for my rules.

Now my question is:

Is StyleCop 4.7 compatible with C# 6.0 code? If not, do we have any solution?


回答1:


TL;DR - Yes. StyleCop 4.7 was updated to be compatible with C# 6 starting with 4.7.51 (Beta) released on 13th March 2016.
There was a handover to new custodians back in January 2016, and a new version 4.7.50 alpha has been released 3rd Feb 2016, but as yet does not include C# 6 support.
4.7.51 (Beta) was released on 13th March 2016 and the latest stable is 4.7.54 released May 13th.


Here are three other options that work with Visual Studio 2015:

1. Visual StyleCop

Visual StyleCop, is an extension to Visual Studio. This gives you the right click functionality into Visual Studio 2015 that installing StyleCop gave you for 2013 and below.

This is available by adding an extension into Visual Studio:

It is an active project and will give you StyleCop on C# 6 features. There is a package - Visual-StyleCop.MSBuild, that will give you MSBuild integration.

It is possible to write custom rules with Visual StyleCop.

2. StyleCop Analyzers

StyleCop.Analyzers are built upon Rosalyn and make use of the Analyzers feature of Visual Studio 2015. They are available on NuGet:

This would add them into the rules in the relevant *.ruleset file (same place as CodeAnalysis rules, accessible from the project page:)

giving:

and you can run them via

Which has the same effect as right click, Run StyleCop, used on previous versions and with Visual StyleCop.

Giving:

The source code is available on GitHub, so adding custom rules should be possible.

3. Resharper, with StyleCop by Jetbrains

Install:

  • Resharper 10.0.1
  • StyleCop by JetBrains 4.8

Which gives this in R# options:

This gives you syntax highlighting, but no right click run, and no build integration. Additionally, R# is not a free product.

You can extend it using plugins, but it doesn't feel as customizable as the other two options presented.




回答2:


Version 4.7.51 and later should support C# 6:

Added initial (and untested) support for C# 6.0 syntax

http://stylecop.codeplex.com/releases/view/620339

So the current stable build should support it, too: http://stylecop.codeplex.com/releases



来源:https://stackoverflow.com/questions/35113492/is-stylecop-4-7-compatible-with-c-sharp-6-0-code

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!