We maintain two (opinionated) rulesets for all our projects and distribute them, including 3rd-party Roslyn Analyzers (StyleCop and SonarSource) in two respective NuGet packages.
The base ruleset consists of the default ruleset of the Roslyn Analyzers we include in the NuGet package and those used in our build tools.
Debug
, warnings will be converted to errors.Given a version number MAJOR.MINOR.PATCH
, an incremented number for:
MAJOR
version means there are incompatible changes with the previous version,MINOR
version means functionality and rules were added, andPATCH
version means that the changes are all completely backwards compatible. Usually when rules were lowered in severity or disabled/removed.PATCH
version whenever you have the chance to do it, it should never break the build. MINOR
version can break the build and may require minor refactorings. But you can expect to have Roslyn code fixes and/or documentation available for the changes that are needed to fix the build.MAJOR
updates will break your build and may require major refactorings.