Reducing Boilerplate Code in .NET Applications with Command Line Switches
Over the past few years, I’ve been using Visual Studio less and less, preferring VS Code, and more recently Rider.
I also use the command line more than in the past for project creation, running the application, testing, etc. Regarding project creation, I use the command line switches to fine-tune the project, and how it works.
Sometimes I want top-level statements, sometimes I want the old-style
file with aMain` method.
I often don’t want API documentation, HTTPs redirection, etc.
You could use
dotnet new webapi, and then trim out what you don’t want.
But there is an easier way. Try this to see all the options -
dotnet new webapi --help
For simple things I use -
dotnet new webapi --no-https --no-openapi -n MyWebApi
This reduces the
Program.cs from 14 to 6 lines of code.
Other useful switches are -
--use-minimal-apis // Use minimal APIs instead of controllers --use-program-main // Use a traditional Main method instead of top-level statements
Keep in mind, all templates have a variety of switches available.
- Dependency Injection of a Type within Program.cs Using Top Level Statements
- Dependency Injection of an Entity Framework Context within Program.cs Using Top Level Statements
- Workaround for "Failed to create template" Error with .NET 7 RC1 and Lambda Functions
- Using Environment Variables with .NET Lambda Functions
- Lambda function A/B Testing with .NET and Function URLs