Roslyn –自定义构建错误扩展

时间:2018-08-13 19:19:22

标签: visual-studio msbuild roslyn

当前是否可以扩展Roslyn编译并添加一些自定义规则集,这些规则集会破坏构建并显示在VisualStudio的ErrorList中?

我搜索了StackOverflow,但是没有有效的答案-也许最近这个话题出现了问题,或者还有其他方法可以在没有roslyn的情况下做到这一点?

1 个答案:

答案 0 :(得分:1)

  

Roslyn –自定义构建错误扩展

就像Slaks和JoshVarty所说,这是分析器功能。要创建自定义的Roslyn分析器规则,可以查看以下MS教程:

C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API

在本文档中,您可以找到以下描述:

  

在声明“规则”字段的行中,您还可以更新严重性   您将产生的诊断结果是错误的,而不是错误的   警告。如果不解析正则表达式字符串,则Match方法将   绝对在运行时引发异常,您应该阻止   生成C#编译器错误的方法。更改规则的严重性   到DiagnosticSeverity.Error:

internal static DiagnosticDescriptor Rule =   new
DiagnosticDescriptor(DiagnosticId, Title, MessageFormat,    Category,
DiagnosticSeverity.Error, isEnabledByDefault: true, description:
Description);

这将导致构建中断。

  

为了使构建因规则而失败,您需要添加   分析器作为项目的nuget包。这将确保   失败将导致构建失败。

认证:Roslyn Analyzer Rule does not fail the build

希望这会有所帮助。