Я пытаюсь провести анализ кода в наших проектах, поэтому я начал с решения как для .NET Framework, так и для проектов .NET Standard.
Я следовал этому учебнику , ноПодводя итог, вот что я сделал:
- Добавлен файл
SolutionName.ruleset
на уровне решения - Добавлен файл
stylecop.json
на уровне решения и ссылка на этот файл как ссылкав каждом проекте - Установлено
StyleCop.Analyzers 1.1.0-beta009
Пакет Nuget для каждого проекта - Установлено
Microsoft.NetCore.Analyzers
в проектах .NET Standard и Microsoft.NetFramework.Analyzers
для проектов .NET Framework
Во-первых, Visual Studio выглядит так глючно, но, возможно, это из-за какой-то черной магии, которую я не понимаю.
Если я нажму на файл набора правил в обозревателе решений, я немного поиграю с галочкой и-выделение нескольких флажков каждой группы правил и повторная сборка, чтобы увидеть изменения в окне списка ошибок, но через короткое время он больше не работает.Я даже пытаюсь отменить выбор, построить заново, и все мои предупреждения все еще здесь.Единственный способ заставить их исчезнуть - закрыть Visual Studio.
Как показано на скриншоте, я израсходовал проект библиотеки .NET Standard под названием ConfigLibrary
, чтобы убедиться, что у него есть несколько связанных анализаторов.
Проблема в том, что все эти правила, похоже, берутся из DLL пакета Nuget C:\Users\user\.nuget\packages\stylecop.analyzers\1.1.0-beta009\analyzers\dotnet\cs\StyleCop.Analyzers.dll
.
Если я отменил выбор правил StyleCop.Analyzers
в моем файле правил он ничего не делает, и если я ищу эти коды правил с помощью текстового поля поиска, он показывает, что они не выбраны.Но в конце концов эти правила все еще применяются ...
Когда я пытаюсь удалить пакет StyleCop.Analyzers
Nuget для всех проектов, я не получаю все эти предупреждения, даже когда правила выбраны вмой файл набора правил.
Кроме того, мой файл набора правил часто автоматически переписывается, поскольку я не знаю, какой процесс.И правила больше не работают даже после того, как я перезапущу Visual Studio
Итак, как правильно обрабатывать некоторые правила анализа кода в решенииуровень для проектов .NET Framework и .NET Core?
Как избежать того, чтобы библиотеки DLL анализатора переопределяли мои правила, определенные в моем файле набора правил?Есть ли обходной путь, чтобы Visual Studio правильно обновляла применяемые правила?Build
, Rebuild
и Run code analysis on solution
все глючат, только перезапуск Visual Studio работает, но это своего рода тяжелый обходной путь, особенно со всеми этими правилами ...
Это я не понимаю базовую концепцию илия сталкиваюсь с некоторыми странными ошибками в .NET Core?Спасибо