skip to Main Content

hello guys when I create a new asp.net core web api project, I think c# creates projects with top-level statements.Here is the freshly created web api project’s program.cs file
enter image description here

I am new to web api projects so I am not sure if I did something unintentionally but this is what I got

4

Answers


  1. According to the docs, starting with .NET 6, the templates use top level statements. They say you should create a .NET 5 project and then manually change it to .NET 6 as a workaround if you don’t want to use top level statements.


    References:

    The C# templates for .NET 6 use top level statements.

    Tutorial: Explore ideas using top-level statements to build code as you learn

    While a .NET 6 console app template generates the new style of top-level statements programs, using .NET 5 doesn’t. By creating a .NET 5 project, you’ll receive the old program style. Then, you can edit the project file to target .NET 6 but retain the old program style for the Program.cs file.

    Use the old program style

    Login or Signup to reply.
  2. This is feature starting with c# 9.0. There is no misconfiguration in your project.

    Login or Signup to reply.
  3. Use:

    dotnet new webapi --use-program-main -o <project>
    
    Login or Signup to reply.
  4. Creating a new ASP.Net-Project via the GUI of Visual Studio, the marked Option ‘Do not use top-level statements’ should do what yo want.
    Its in the last Step of creating a new Project:

    enter image description here

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search