Quick Tipp: ASP.NET MVC – C# 6 Features in Views aktivieren

Quick Tipp: ASP.NET MVC – C# 6 Features in Views aktivieren

Vor ein paar Tagen haben wir unser aktuelles Projekt von Visual Studio 2013 auf Visual Studio 2015 umgestellt. In diesem Zuge nutzen wir nun auch die Sprach-Features von C# 6, u.a. den Null-Conditional Operator, Auto-Property Initialisierer, String-Interpolation und das nameof-Schlüsselwort. Nun wollten wir diese Features auch in unseren ASP.NET MVC Views einsetzen, was jedoch zunächst zu folgendem Fehler führt:

C# 6 Fehler in ASP.NET MVC Views

Anders als „normale“ C#-Klassen werden Views zur Laufzeit kompiliert und bei C# 6 geschieht dies über Roslyn. Um C# 6 in MVC-Views nutzen zu können, ist daher die Installation es NuGet-Pakets CodeDOM Providers for .NET Compiler Platform notwendig:

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

Attempting to gather dependencies information for package 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1' with respect to project 'C6DemoApplication', targeting '.NETFramework,Version=v4.5'
Attempting to resolve dependencies for package 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1' with DependencyBehavior 'Lowest'
Resolved actions to install package 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1'
Added package 'Microsoft.Net.Compilers.1.0.0'
Added package 'Microsoft.Net.Compilers.1.0.0' to 'packages.config'
Successfully installed 'Microsoft.Net.Compilers 1.0.0'
Added package 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1'
Added package 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1' to 'packages.config'
Executing script file '.\C6DemoApplication\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\tools\install.ps1'
Successfully installed 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.1'

Somit können nachfolgend alle C# 6 Features in den MVC-Views verwendet werden. Zu beachten ist, dass das Einbinden des NuGet-Pakets nur bei Migrationsprojekten nach Visual Studio 2015 notwendig ist. Erstellt man in VS2015 eine neue Webanwendung, so sind alle nötigen NuGet-Pakete bereits enthalten.

Ich bin freiberuflicher Senior Full-Stack Web-Entwickler (Angular, TypeScript, C#/.NET) im Raum Frankfurt/Main. Mit Leidenschaft für Software-Design, Clean Code, moderne Technologien und agile Vorgehensmodelle.

1 Kommentar

Pingbacks

  1. […] Quick Tipp: ASP.NET MVC – C# 6 Features in Views aktivieren […]

Eine Antwort hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.