Visual Studio 2017 veröffentlichen Sie die ASP.NET Core App mit C # 7.2

9

Ich habe eine Asp.Net MVC Core-Website, die public static async Task Main() verwendet. Damit das funktioniert, habe ich die Sprachversion auf C # 7.2 gesetzt (im Eigenschaften - & gt; Build - & gt; erweiterten Dialog, doppelt in der csproj geprüft) für Buildkonfigurationen Debug und Release.

App wird im Debug- und im Release-Modus erstellt und gestartet.

Nun versuche ich, es direkt von Visual Studio 2017 15.5.2 (mit WebDeploy) auf einer Azure-Website zu veröffentlichen, und ich bekomme Folgendes:

  

Program.cs (17,29): Fehler CS8107: Feature 'async main' ist nicht verfügbar   in C # 7.0. Bitte verwenden Sie die Sprachversion 7.1 oder höher. CSC (0,0): Fehler   CS5001: Das Programm enthält keine statische Hauptmethode, die für   ein Einstiegspunkt

Im Ausgabefenster sehe ich C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild.0\Bin\Roslyn\csc.exe mit einigen Flags, wahrscheinlich ist einer falsch?

Wer weiß, ob das ein bekanntes Problem ist oder ich etwas falsch mache?

    
adrian h. 29.12.2017, 14:26
quelle

2 Antworten

1

Keine Antwort per se, aber dafür, was es wert ist async Main ist nur syntaktischer Zucker. Hinter den Kulissen fügt Roslyn nur die standardmäßige void Main -Wrapper-Konstruktion hinzu:

%Vor%

Es ist wahrscheinlich nicht Ihre Zeit wert zu versuchen, den Server auf der gleichen Seite C # versionsweise zu bekommen, nur um buchstäblich drei Zeilen Code zu speichern.

    
Chris Pratt 29.12.2017 20:04
quelle
1

Dies scheint ein Fehler in Visual Studio zu sein. Das Hinzufügen dieser Zeile zur Haupteigenschaftsgruppe in der .csproj-Datei hat das Problem für mich gelöst:

<LangVersion>latest</LangVersion>

Das Problem wurde auch hier im ASP.NET Home-Repository gemeldet.

    
user1336 10.01.2018 09:41
quelle