C# Roslyn Code Analyzer: чтение конфигурации решения - PullRequest
0 голосов
/ 23 апреля 2020

Я написал собственный анализатор, который хочу включить только в определенных конфигурациях решения (например, активен только в Debug, но не в Release). Мне не интересно, установлен ли флаг отладки. В решении, в котором будет работать анализатор, имеется полдюжины конфигураций сборки, и я хочу включить анализатор только в одной или двух из них.

Я пытался исследовать / выполнить следующее:

  1. Имейте зависящий от конфигурации решения файл .editconfig, который устанавливает уровень серьезности всех правил диагностики c в беззвучный режим
  2. В обратных вызовах регистрации моего анализатора проверьте текущую конфигурацию:
private void SyntaxNodeActionCallback(SyntaxNodeAnalysisContext context)
{
    var builConfigName = context.Compilation.<SomeProperty> // Here I would expect a property or method to retrieve the build configuration.
                                                            // I also checked the Options property
    if (buildConfigName != "Development_Stage")
    {
        return; // Don't analyze anything in production stages
    }
}
Google

Есть идеи, как мне этого добиться?

...