.NET project file analyzers community

NuGet packages

Microsoft provides best practices to give NuGet package authors a reference to create and publish high-quality packages.

.NET project file analyzers provides rules for most of them:

Rule Recommendation
Proj0200 Explicitly define the package as packable.
Proj0201 Consider using SemVer to version your NuGet package.
Proj0202 Do include a short description (up to 4000 characters) to describe your package.
Proj0203 Do use the author field for your or your organization’s “pretty name.”
Proj0204 Do include several tags with key terms related to your package to enhance discoverability.
Proj0205 Do include a link to an associated repository
Proj0206 Do include a link to an associated project or company website.
Proj0207 Do add a copyright notice to your package with “Copyright (c) <name/company> ."
Proj0208 Do include release notes with each update describing what changes were made.
Proj0209 Do add a README markdown file that provides an overview of what your package does and how to get started.
Proj0210 Do include a license expression or license file in your package.
Proj0211 Do not use the deprecated PackageLicenseUrl to include a license.
Proj0212 Consider including an icon with your package to help to visually differentiate it. It’s a relatively small addition that can improve perception of package quality.
Proj0213 Consider adding the icon url for maximum compatibility.
Proj0214 Do include the package id.
none Consider choosing a NuGet package name with a prefix that meets NuGet’s prefix reservation criteria.
Proj0215 Do use an image that is 128x128 and has a transparent background (PNG) for the best viewing results.
  Consider setting up Source Link to automatically add source control metadata to your NuGet package and make your library easier to debug.
  Do choose an open source license to make your package open source.

Further reading