"dotnet new" templates for building NuGet-published (content-only) multi-targeting libraries with all the bells and whistles
About • How To Use • Download • Contributors • Versioning • Credits • Related • License
A bunch of dotnet new
templates to quickly get you started building libraries that target multiple versions of .NET, published on NuGet, have a easy to modify build pipeline, include nicely readable release notes, a clear read-me, automatic version, unit tests, static code analysis using Roslyn and auto-formatting using .editorconfig
and settings honored by JetBrains Rider and ReSharper.
I like to build my software systems in a nicely broken down set of libraries that are easy to maintain, test and deploy. But every time I or the teams I work with need to start a new library or reusable component, we have to scramble so much from other projects, I felt this good fill the gap.
So this template is the result of years of experience in building in-house and open-source libraries that are used by thousands of developers around the world. I hope it's a great starting point for building your own libraries.
My name is Dennis Doomen and I'm a Microsoft MVP and Principal Consultant at Aviva Solutions with 28 years of experience under my belt. As a software architect and/or lead developer, I specialize in designing full-stack enterprise solutions based on .NET as well as providing coaching on all aspects of designing, building, deploying and maintaining software systems. I'm the author of several open-source projects such as Fluent Assertions, Reflectify, Liquid Projections, and I've been maintaining coding guidelines for C# since 2001.
Contact me through Email, Bluesky, Twitter/X or Mastadon
This library is available as a NuGet package on https://nuget.org. To install it, use the following command-line:
dotnet new -i DotNetPackageTemplates
dotnet new Binary.Package.Template --name YourLibraryName
Your contributions are always welcome! Please have a look at the contribution guidelines first.
(Made with contrib.rocks)
This library uses Semantic Versioning to give meaning to the version numbers. For the versions available, see the tags on this repository.
This library wouldn't have been possible without the following tools, packages and companies:
- ASP.NET Core Template - Created by Nikolay Kostov and the inspiration for this repo.
- Nuke - Smart automation for DevOps teams and CI/CD pipelines by Matthias Koch
- Rider - The world's most loved .NET and game dev IDE by JetBrains
- xUnit - Community-focused unit testing tool for .NET by Brad Wilson
- Coverlet - Cross platform code coverage for .NET by Toni Solarin-Sodara
- Polysharp - Generated, source-only polyfills for C# language features by Sergio Pedri
- GitVersion - From git log to SemVer in no time
- ReportGenerator - Powerful code coverage visualization
- My Blog
- FluentAssertions - Extension methods to fluently assert the outcome of .NET tests
- C# Coding Guidelines - Forkable coding guidelines for all C# versions
This project is licensed under the MIT License - see the LICENSE.md file for details.