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 csproj
file, explains to the compiler what kind of output to make.
It also references any needed libraries, in your case that is the SDK: https://docs.microsoft.com/en-us/dotnet/core/tools/csproj
Metapackages are implicitly referenced based on the target framework(s) specified in the
<TargetFramework>
or<TargetFrameworks>
property of your project file.
Without it, net core would miss information on what to build and how. You wouldn't even have the references to System
Namespaces available.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With