StyleCop — это инструмент с открытым исходным кодом, который можно использовать в проектах .NET для автоматического определения и применения рекомендаций по стилю кода.

Если вы совсем новичок в StyleCop, вы можете узнать больше об этом в дополнительном руководстве по StyleCop.

Существуют различные способы настройки StyleCop, однако следующие шаги описывают, как быстро и многократно настроить StyleCop для различных проектов .NET в рамках решения .NET.

Набор правил

Файл набора правил (.ruleset) содержит XML, определяющий различные правила по идентификатору (например, CA1001, SA1201 и т. д.), которые вы хотите проверить, и действие, которое будет предпринято (например, None, Info, Warning и т. д.) для нарушения каждого правила. правило.

Наиболее важные действия с набором правил следующие:

  • Error : нарушение правила отображается как ошибка сборки (т. е. сборка завершится ошибкой).
  • Warning : нарушение правила отображается в виде предупреждения сборки.
  • Info : нарушение правила будет отображаться в виде информационного сообщения о сборке.
  • None : нарушение правила ничего не даст. Это то же самое, что и правило, отсутствующее в файле набора правил.

Чтобы добавить новый файл набора правил в свое решение в Visual Studio, выберите: Файл › Создать › Файл. Найдите «Набор правил анализа кода» и выберите Добавить.

Создайте файл набора правил в корне вашего решения.

Если теперь вы выберете файл набора правил в Visual Studio, вам будет представлен пользовательский интерфейс, который позволяет вам выбирать/отменять выбор правил, а также назначать действия, которые вы хотите предпринять при нарушении правила.

StyleCop.Analyzers и Directory.Build.props

Для использования StyleCop в каждом проекте должна быть ссылка на пакет nuget StyleCop.Analyzers. Однако, чтобы обойти проблему, связанную с необходимостью индивидуальной ссылки на пакет из каждого проекта в репозитории, мы можем использовать файл Directory.Build.props. Этот файл позволяет нам установить части файла проекта .NET, которые будут применяться ко всем файлам проекта .NET в иерархии каталогов. Например, размещение файла Directory.Build.props в корне репозитория git означает, что его определения будут применяться ко всем файлам проекта .NET в репозитории git.

Пример файла Directory.Build.props для использования StyleCop:

Этот пример Directory.Build.props определяет следующее:

  • Что три типа сборки (Release, Debug и FullDebug) должны использовать файл набора правил ByteDev.Custom.ruleset, расположенный в корне сборки.
  • Все три типа сборки также должны рассматривать все предупреждения как ошибки (т. е. теперь предупреждения будут прерывать сборку).
  • Ссылка пакета nuget на StyleCop.Analyzers. Обратите внимание, что на момент написания последней версии является 1.1.118.

Краткое содержание

Таким образом, когда у вас есть файл набора правил и файл Directory.Build.props при создании нового решения .NET, все, что вам нужно сделать, это:

  1. Скопируйте существующий файл .ruleset в корень вашего решения.
  2. Скопируйте существующий файл Directory.Build.props в корень вашего решения.

Теперь любой проект .NET, который вы добавляете в свое решение, будет автоматически использовать StyleCop с предоставленным вами набором правил.