4

Kann das folgenden Code Fehler CS5001 Programm auszuführen keine statische ‚Main‘ Methode geeignet für einen Einstiegspunkt enthältFehlermeldung „CS5001 Programm keine statische‚Main‘Methode geeignet für einen Einstiegspunkt enthält“

Was bedeutet diese Fehlermeldung?

class Program 
{ 
    static async Task MainAsync(string[] args) 
    { 
     Account.accountTest accountTest = new Account.accountTest(); 

     bool result = await accountTest.CreateAccountAsync(); 
    } 
} 
+0

Sie können Main Async nicht erstellen. – john

+9

@John: Du kannst in C# 7.1 –

+0

@Jon Du schult mich immer, sei es durch die Kommentare oder Ihre informativen Beiträge :) Danke – john

Antwort

21

Es bedeutet, dass Sie momentan keinen geeigneten Einstiegspunkt für Ihre Anwendung haben.

Dieser Code wird fast Arbeit mit C# 7.1, aber Sie müssen explizit aktivieren C# 7.1 in Ihrer Projektdatei:

<LangVersion>7.1</LangVersion> 

oder allgemeiner:

<LangVersion>latest</LangVersion> 

Sie müssen auch Umbenennen MainAsync zu Main. So zum Beispiel:

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> 

... baut und läuft gut.

+0

hinzugefügt letzten zu myproject.csproj immer noch den gleichen Fehler. – 001

+3

@ 001: Sehen Sie meine bearbeitete Antwort - die LangVersion benötigt Kapital L und V, und Sie müssen die Methode auch umbenennen. –

+0

Danke @jon - es hat funktioniert! – 001

Verwandte Themen