Unable to execute the following code error CS5001 Program does not contain a static 'Main' method suitable for an entry point
What does this error message mean?
class Program
{
static async Task MainAsync(string[] args)
{
Account.accountTest accountTest = new Account.accountTest();
bool result = await accountTest.CreateAccountAsync();
}
}
It means that you don't have a suitable entry point for your application at the moment.
That code will nearly work with C# 7.1, but you do need to explicitly enable C# 7.1 in your project file:
<LangVersion>7.1</LangVersion>
or more generally:
<LangVersion>latest</LangVersion>
You also need to rename MainAsync
to Main
. So for example:
Program.cs:
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
await Task.Delay(1000);
}
}
ConsoleApp.csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<LangVersion>7.1</LangVersion>
</PropertyGroup>
</Project>
... builds and runs fine.
See more on this question at Stackoverflow