Запретить все пространство имен с помощью BannedApiAnalyzersC#

Место общения программистов C#
Anonymous
Запретить все пространство имен с помощью BannedApiAnalyzers

Сообщение Anonymous »

Я пытаюсь запретить использование пакета Newtonsoft.Json в своей базе кода и пытаюсь использовать пакет BannedApiAnalyzers Nuget (последняя стабильная версия, 3.3.4).
Моя проблема в том, что, хотя я могу запретить определенные классы, я не могу запретить все пространство имен.
В качестве примера рассмотрим следующий код:

Код: Выделить всё

var x = Newtonsoft.Json.JsonConvert.SerializeObject(new object());
Когда мой файл BannedSymbols.txt выглядит так:

Код: Выделить всё

T:Newtonsoft.Json.JsonConvert;Use System.Text.Json instead
, как и ожидалось, я получаю ошибку компиляции.
Но когда мой файл BannedSymbols.txt выглядит так: N:Newtonsoft.Json; Вместо этого используйте System.Text.Json, сборка пройдет.
Запрет отдельных классов менее удобен в обслуживании и более подвержен ошибкам — я хочу запретить все пространство имен.
Чего мне не хватает? Как я могу запретить все пространство имен Newtonsoft.Json (и его подпространства, например Newtonsoft.Json.Linq)?

Подробнее здесь: https://stackoverflow.com/questions/786 ... ianalyzers

Вернуться в «C#»