Ich teste Visual Studio 2015 mit C # 6.0, aber die Sprachfunktionen funktionieren nicht. In einer MVC-Webanwendung wird der folgende Code kompiliert:
if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName))
{
// More logic here...
}
Wenn ich die Anwendung jedoch über Debug und IIS Express ausführe, wird folgende Fehlermeldung angezeigt:
CS1525: Ungültiger Ausdrucksbegriff '.'
Wie aktiviere ich diese Funktionen?
c#
asp.net-mvc
visual-studio-2015
roslyn
c#-6.0
Chris Schiffhauer
quelle
quelle
compiler
Element für den Roslyn-Codeprovider msdn.microsoft.com/en-us/library/y9x69bzw(v=vs.110).aspx in der web.config hinzufügen?Antworten:
Dies funktioniert in MVC 5 (getestet 5.2.3). Sie müssen lediglich das Roslyn-Code-Dom-Nuget-Paket hinzufügen
CodeDOM-Anbieter für .NET Compiler ...
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
quelle
nuget.org
. Wie Sie dem Link entnehmen können, handelt es sich um den richtigen Namen, und das Paket ist vorhanden.Nun, ich habe MVC5 und vor kurzem VS 2015 installiert.
Ich habe das CodeDOM-Provider-Paket installiert, aber es hat nicht geholfen ... Aber danach wurde mir klar, dass dieses Paket nur Framework 4.5 unterstützt, während ich das Ziel-Framework während der Tests auf 4.6 gesetzt habe - es funktioniert jedoch mit 4.5 ...
Achten Sie also auch auf das Ziel-Framework. Wenn Sie 4.5 haben, installieren Sie einfach das Paket Microsoft.CodeDom.Providers.DotNetCompilerPlatform. Wenn Sie jedoch 4.5.1-4.6 als Ziel haben, müssen Sie im Abschnitt web.config Änderungen vornehmen
Ändern Sie für C # einfach den Typ in:
quelle
C# 6
an die Arbeit zu machenASP.NET 4.6
, aber es wäre vielleicht besser gewesen, den Code mit dem richtigentype
bereits dort zu posten ...Ich hatte das gleiche Problem in Visual Studio 2015. Eine andere Antwort hier bezog sich auf die von mir verwendete Lösung, aber sie spezifizierten den Fix falsch und gaben nie Klarheit.
Wählen Sie im Menü Visual Studio die Option Projekt aus, und Sie sollten das Unterelement C # 6 / VB 14 aktivieren sehen, wenn Sie dieses Problem haben. Wählen Sie diesen Menüunterpunkt. Es werden die richtigen Pakete von Nuget heruntergeladen und installiert. Starten Sie anschließend 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. Daher möchten Sie dies möglicherweise auch überprüfen, nachdem Sie C # 6 über das Menü aktiviert haben.
quelle
Überprüfen Sie Ihre Projekteigenschaften, gehen Sie zu Build, Advanced und prüfen Sie, ob C # 6.0 nicht standardmäßig vorhanden ist.
Derzeit gibt es perfekte Unterstützung für MVC5 und C # 6.0 und funktioniert erstaunlich gut!
quelle
Einschließlich der Ratschläge zur Installation der neuesten
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Version musste ich auch meine Wurzel darauf setzenWeb.config
system.codedom
, um endlich alle FehlerVisual Studio 2015
zu beseitigen :Jetzt neu starten
Visual Studio
und das sollte es tun.quelle
Visual Studio 2015 zeigt auch eine
Enable C#6 / VB 14
im Menü Projekt mit einer ausgewählten ASP.NET-Website / Webanwendung an.Dadurch werden de facto Installationen
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
undMicrosoft.Net.Compilers
Pakete in Ihr Projekt integriert und entsprechende Tags in die Datei web.config eingefügt.quelle
quelle