插入字符串c#6.0和Stylecop

Mic*_*Man 21 c# stylecop c#-6.0 visual-studio-2015

我使用的是Stylecop版本:4.7.49.0

有没有人在c#6.0中使用过最新的插值字符串功能

var totalUnits = GetUnitsGetTotalIssuedShares(myId);
var testString = $"Test Units :{totalUnits}, have been shipped.";
Run Code Online (Sandbox Code Playgroud)

当我构建我得到了stylecop错误SA0102 - 因为stylecop无法解析文件.似乎没有新版本的stylecop可以处理6.0了吗?

错误:SA0102:在文件中发现了语法错误

反正有这个错误吗?

Nik*_*nte 10

SA0102是内部stylecop错误,因此无法通过设置文件进行抑制或忽略.

您可以通过查找文件名并在csproj中将部分更改为此来禁止来自stylecop的文件:

<Compile Include="<filename>.cs">
  <ExcludeFromStyleCop>True</ExcludeFromStyleCop>
</Compile>
Run Code Online (Sandbox Code Playgroud)

如果安装了StyleCop插件,右键单击有问题的文件并选择"从样式警察中排除"可以获得相同的效果.它目前需要为Visual Studio 2015的4.7.50 alpha.


更现代的方法是使用StyleCop.Analyzers的Visual Studio 2015的分析器功能.

在此输入图像描述

转到Stylecop.Analyzers,这会将它们添加到相关*.ruleset文件中的规则中(与CodeAnalysis规则相同的位置)

在此输入图像描述

你可以通过它来运行它们

在此输入图像描述

这与右键单击Run StyleCop具有相同的效果:

即给:

在此输入图像描述

这将更好地支持C#6,因为支持Visual Studio 2015的StyleCop 4.7.50是alpha版本,但尚不支持C#6.

  • 忽略文件来压制警告?这是不好的! (4认同)