Расширение компилятора C # не показывает сообщения при сборке - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть подкласс DiagnosticAnalyzer, который правильно определяет мои проблемы и показывает их в окне ошибок в VS. Далее пишется исправление кода, но я не предвижу никаких проблем с этим.

Однако, когда я на самом деле строю свое приложение, добавленные предупреждения и ошибки не отображаются. Это ограничение диагностических анализаторов? Если нет, как я могу сообщить Roslyn, что я хочу видеть эти проблемы также во время сборки?

1 Ответ

1 голос
/ 05 ноября 2019

С документы :

Анализаторы кода Roslyn могут быть установлены для каждого проекта через пакет NuGet. Некоторые из них также доступны как расширение Visual Studio, и в этом случае они применяются к любому решению, открытому в Visual Studio. Между этими двумя способами установки анализаторов есть некоторые ключевые различия в поведении.

Область действия

Если вы устанавливаете анализаторы как расширение Visual Studio, они применяются на уровне решения и ко всем экземплярам Visual Studio. ,Если вы устанавливаете анализаторы как пакет NuGet, который является предпочтительным методом, они применяются только к проекту, в котором был установлен пакет NuGet. В командной среде анализаторы, установленные в виде пакетов NuGet, доступны всем разработчикам, работающим над этим проектом.

Ошибки сборки

Чтобы правила применялись во время сборки, в том числе через командную строку или какчасть анализатора непрерывной интеграции (CI) устанавливается в виде пакета NuGet. Предупреждения и ошибки анализатора не отображаются в отчете о сборке, если вы устанавливаете анализаторы как расширение.

...