On my VS.NET 2015 development machine, the Razor views that use the nameof
operator work like a charm.
When deploying to a Windows server, it fails to compile the CSHTML Razor views:
The name 'nameof' does not exist in the current context.
In German:
Der Name 'nameof' ist im aktuellen Kontext nicht vorhanden.
I've installed .NET Framework 4.6 ("ASP.NET version: 4.6.81.0") with no success.
Most likely I'm missing something plain simple.
Still, I'm really clueless. Is it a web.config setting? Or something else?
My question:
How to enable C# 6 features (like the nameof
operator) in CSHTML Razor views?
Make sure in your file "web.config" the node
system.codedom
exists.And you'd reference the package
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
.According to this site, you need to reference the Roslyn compiler in your Web.config file to get C# 6 features to work in your razor views.
This can be achieved simply by installing the CodeDOM Providers for .NET Compiler NuGet package.