0Pricing
C# Academy · Lesson

Library vs app .csproj, semantic versioning

Understand library vs app .csproj, how NuGet consumes libraries, and how semantic versioning (MAJOR.MINOR.PATCH) guides releases.

Concepts & goals

Goal: Know when to create a library vs an app, and how versions signal change.

  • Library .csproj: built to be referenced and packed for NuGet
  • App .csproj: produces an executable for end users
  • Semantic versioning: MAJOR.MINOR.PATCH

Library vs App: quick view

  • Library: targets frameworks to maximize reuse; has metadata (PackageId, Version, Authors).
  • App: has an entry point; publishes runnable output.
  • NuGet packs libraries into .nupkg; apps are usually published, not packed.

All lessons in this course

  1. Library vs app .csproj, semantic versioning
  2. Packing & publishing to NuGet
  3. Multi-targeting
← Back to C# Academy