Since the release of C# 7.1, it has been possibly to natively use the await operator in the Main method of a console application, but it requires a small project configuration change.

Here’s the default csproj created by the dotnet new console command:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

</Project>

If you want to use async methods in Main, add the following inside the <PropertyGroup> node:

<LangVersion>latest</LangVersion>

Now, you can change the signature of Main to the following:

public static async Task Main(string[] args)
{
    // async calls here
}