One feature of coming C# 9 is so called top-level programs. So that you could just write the following without classes.
using System;
Console.WriteLine("Hello World!");
and dotnet run will launch it for you.
It works for me, but only if I also add a .csproj file like the one below
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
Is there a way to skip .csproj from the picture? :) So that there's just a single Program.cs file and nothing more.
No there isn't. The
csprojfile, explains to the compiler what kind of output to make.It also references any needed libraries, in your case that is the SDK: https://learn.microsoft.com/en-us/dotnet/core/tools/csproj
Without it, net core would miss information on what to build and how. You wouldn't even have the references to
SystemNamespaces available.