Get started
Cross-platform targeting
How to use .NET Standard and multi-targeting to create cross-platform libraries. .NET runs in many places, and good .NET libraries should strive to support as many platforms and developers as possible.
Strong naming
Learn about strong naming and its advantages and disadvantages. Strong naming a .NET library allows the most developers to use it and is a recommended best practice.
NuGet and open-source libraries
The best way to create NuGet packages for open-source .NET libraries, including recommended metadata for all packages published publicly on NuGet.org.
Dependencies
NuGet makes it easy to use existing packages when building a .NET library. Learn about NuGet dependencies' common sources of friction and how to avoid them.
Source Link
Source Link is a great tool that allows users of your .NET library to step into its source code while debugging. This article is an overview of what Source Link is and why you should use it.
Publishing
While NuGet.org is the most widely known and used repository, there are many places to publish NuGet packages. Learn about the different NuGet package repositories available, and security best practices for publishing a .NET library.
Versioning
Good .NET libraries evolve over time, adding features, fixing bugs, and improving performance in later releases. Learn about the various version numbers and how to communicate breaking changes to developers.
Breaking changes
It's important for a .NET library to find a balance between stability for existing users and innovation for the future. Learn about the different kinds of breaking changes and strategies for adding new features while maintaining backwards compatibility.