Правило Roslyn Analyzer не подводит сборку
Исходя изэтот Учебник от MS, я создал анализатор для Roslyn.
Согласно странице, вы можете пометить правило какDiagnosticSeverity.Error
и это приведет к поломке сборки:
В строке, объявляющей поле «Правило», вы также можете обновить серьезность диагностики, которую вы будете производить, в качестве ошибок, а не предупреждений. Если строка регулярного выражения не анализируется, метод Match определенно генерирует исключение во время выполнения, и вам следует заблокировать сборку, как при ошибке компилятора C #. Измените серьезность правила на DiagnosticSeverity.Error:
внутреннее статическое DiagnosticDescriptor Rule = новый DiagnosticDescriptor (DiagnosticId, заголовок, MessageFormat, категория, DiagnosticSeverity.Error, isEnabledByDefault: true, описание: описание);
В моем коде я создал правило более или менее подробно, как здесь:
private static readonly DiagnosticDescriptor Rule =
new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category,
DiagnosticSeverity.Error, true, helpLinkUri: HelpUrl);
Это правило отлично работает. Он подбрасывает красные линии, отображает сообщение в списке ошибок. Тем не менее, сборка завершается успешно, и я могу успешно запустить приложение.
NB: Я создал это правило для захватаThread.Sleep
для этого примера.
Требуется ли дополнительная настройка, чтобы правило нарушало сборку?