Api Design · Aaronontheweb/dotnet-skills

Design stable, backward-compatible C# public APIs

Explains extend-only API design principles for C# libraries and NuGet packages, covering source, binary, and wire compatibility, safe versus breaking changes, and versioning strategy to keep upgrades non-breaking for consumers.

Good for

  • Review a pull request for breaking API changes
  • Add a new overload without breaking compatibility
  • Plan a versioning strategy for a NuGet package
Category
Design

Open-source skills are maintained by their authors and listed as published, with attribution. Results depend on how well the skill fits your task and material.

A good place to start

I'm adding a parameter to a public method in our NuGet package — help me design this change so it doesn't break consumers.

Make your next great thing.

Bring a question, a file, or an idea that’s not quite there yet.