How to build well-designed and reusable NuGet packages

Speakers

headshot for Dennis Doomen

Dennis Doomen

One of the fundamental building blocks in the .NET space is the NuGet package. It's the perfect mechanism to break down those big monolithical systems into nicely structured building blocks that are easy to understand and easy to maintain. But finding the right boundaries for those packages isn't always trivial. If you take the wrong path, you'll end up in a dependency hell. Content-only packages are a nice solution for that as well, but not easy to build. Also, making sure that those packages are properly versioned, don't have vulnerabilities, have proper release notes are aspects a lot of devs forget about.

In this code-heavy talk I'm going to build a GitHub repository with multi-targeting, a maintainable build pipeline, automatic versioning, basic elements such as .editorconfig, unit testing, coverage reporting. This package will be protected by Dependabot and will have automatically generated release notes. Next to that, I'll share my principles of package dependencies to help you scope those packages. In short, everything you didn't know you needed to know about building professional NuGet packages.

An unhandled error has occurred. Reload 🗙