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
- Library vs app .csproj, semantic versioning
- Packing & publishing to NuGet
- Multi-targeting