C # 6.0-Features funktionieren nicht mit Visual Studio 2015

Ich teste Visual Studio 2015 mit C # 6.0, aber die Sprachfunktionen funktionieren nicht. In einer MVC-Webanwendung kompiliert der folgende Code:

if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName)) { // More logic here... } 

Wenn ich die Anwendung über Debug und IIS Express ausführe, erhalte ich jedoch den folgenden Fehler:

CS1525: Ungültiger Ausdrucksterm ‘.’

Wie aktiviere ich diese functionen?

Solutions Collecting From Web of "C # 6.0-Features funktionieren nicht mit Visual Studio 2015"

Dies funktioniert in MVC 5 (getestet 5.2.3), Sie müssen nur das Roslyn Codedom Nuget-Paket hinzufügen

CodeDOM-Provider für .NET-Compiler …

Ersetzung von CodeDOM-Providern, die den neuen .NET Compiler Platform (“Roslyn”) – Compiler als Service-APIs verwenden. Dies bietet Unterstützung für neue Sprachfunktionen in Systemen, die CodeDOM verwenden (z. B. ASP.NET-Laufzeitkompilierung), und verbessert die Kompilierungsleistung dieser Systeme.

 PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform 

https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

Nun, ich habe MVC5 und kürzlich VS 2015 installiert.

Ich habe CodeDOM-Provider-Paket installiert, aber es hat nicht geholfen … Aber danach erkannte ich, dass Paket Framework 4.5 nur unterstützt, während ich Ziel Framework auf 4.6 während der Tests eingestellt haben – es funktioniert mit 4.5, obwohl …

Achten Sie also auch auf den Zielrahmen. Wenn Sie 4.5 haben – installieren Sie einfach Microsoft.CodeDom.Providers.DotNetCompilerPlatform. Aber wenn Sie 4.5.1-4.6 als Ziel haben, müssen Sie im Abschnitt web.config ändern

          

Für C # ändern Sie einfach den Typ in:

 type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 

Ich hatte das gleiche Problem in Visual Studio 2015. Eine andere Antwort hier bezieht sich auf die Lösung, die ich verwendet habe, aber sie falsch angegeben den Fehler und gab nie eine Klarstellung.

Wählen Sie in dem Visual Studio-Menü Projekt aus, und Sie sollten den Unterpunkt Aktivieren von C # 6 / VB 14 anzeigen, wenn dieses Problem auftritt. Wählen Sie diesen Menüunterpunkt. Es wird die richtigen Pakete von Nuget herunterladen und installieren. Starten Sie danach Visual Studio neu und laden Sie Ihre Lösung neu.

Ich kann nicht überprüfen, ob dadurch auch die Auswahl von Projekteigenschaften> Erstellen> Erweitert> Sprachversion auf C # 6 korrigiert wird. Sie sollten dies also auch nach dem Aktivieren von C # 6 im Menü überprüfen.

Überprüfen Sie Ihre Projekteigenschaften, gehen Sie zu Build, Advanced und sehen Sie, ob C # 6.0, wenn Sie es nicht als Standard haben.

Derzeit gibt es perfekte Unterstützung für MVC5 und C # 6.0 und funktioniert erstaunlich gut!

Einschließlich des Hinweises der Installation der neuesten Microsoft.CodeDom.Providers.DotNetCompilerPlatform ich auch meine root Web.config system.codedom auf diese setzen, um endlich alle Fehler in Visual Studio 2015 zu entfernen:

        

Starten Sie Visual Studio jetzt neu und das sollte es tun.

In Visual Studio 2015 wird außerdem im Menü “Projekt” die Enable C#6 / VB 14 aktivieren” mit einer ausgewählten ASP.NET-Website / Webanwendung angezeigt.

Dadurch werden de facto die Pakete Microsoft.CodeDom.Providers.DotNetCompilerPlatform und Microsoft.Net.Compilers in Ihrem Projekt installiert und entsprechende Tags in die Datei web.config eingefügt.

Visual Studio 2015 - Aktivieren Sie CS6 Snipp