Await-Operator kann nur innerhalb einer Async-Methode verwendet werden [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Der Modifizierer 'async' kann in der 'Main'-Methode einer Konsolen-App nicht angegeben werden 15 Antworten

Ich versuche, ein einfaches Programm zum Testen der neuen .NET-Async-Funktionalität in Visual Studio 2012 zu erstellen. Im Allgemeinen verwende ich BackgroundWorkers, um zeitraubenden Code asynchron auszuführen, aber manchmal scheint es ein Aufwand für einen relativ einfachen (aber teuren) Vorgang zu sein . Der neue Async-Modifikator scheint eine großartige Anwendung zu sein, aber leider kann ich einen einfachen Test nicht in Gang bringen.

Hier ist mein Code in einer C # -Konsolenanwendung:

static void Main(string[] args)
{
    string MarsResponse = await QueryRover();
    Console.WriteLine("Waiting for response from Mars...");
    Console.WriteLine(MarsResponse);
    Console.Read();
}

public static async Task<string> QueryRover()
{
    await Task.Delay(5000);
    return "Doin' good!";
}

Ich habe einige Beispiele für MSDN überprüft und es sieht so aus, als ob dieser Code funktionieren sollte. Stattdessen wird in der Zeile mit "await QueryRover ()" ein Erstellungsfehler angezeigt. Bin ich verrückt oder passiert etwas faul?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage