aktualisieren:
Ab Visual Studio 2015 Update 1, Es gibt einen einfachen Prozess in der GUI, um die folgenden Schritte für Sie durchzuführen. Klicken Sie einfach mit der rechten Maustaste auf Ihr Webprojekt und wählen Sie "Enable C# 6/VB 14". Weitere Informationen finden Sie im MSDN-Blogpost "New feature to enable C# 6/VB 14".
Seit diese Antwort geschrieben wurde, wurde diese Funktionalität mit Hilfe eines NuGet-Pakets hinzugefügt.
Fügen Sie dieses Nuget-Paket zu Ihrer Lösung hinzu, wenn Sie MVC5 verwenden.
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
Das nuget Paket web.config ändern sollte, aber überprüfen, ob die folgende Konfiguration in Ihrer web.config-Datei ist (und wenn sie es nicht fügen in):
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
In MVC6 ist dies eingebaut.
Ursprüngliche Antwort:
<div>
@($"Hello {this.Model.SomeProperty}")
</div>
Dies funktioniert nur in C# 6 mit MVC6. Selbst wenn Sie MVC5 mit dem C# 6-Compiler ausführen, wird es nicht funktionieren. Der Trick ist, dass der Rasiermesser-Parser nicht schlau genug ist, um einige Syntaxen noch zu erkennen, also müssen Sie die ganze Sache in Klammern umbrechen (Sie müssen dies tun, wenn Sie den nullbedingten Operator (?.
) in Ihren Rasiereransichten verwenden Gut).
Das gesagt, String-Interpolation in Razor ist a bit buggy im Moment in MVC6, so würde ich nicht überrascht sein, wenn es einige Probleme mit ihm gäbe. ob sie angesprochen werden oder nicht, ist eine andere Sache.
Können Sie den Code zeigen Sie sprechen? –
Welche ASP.NET verwenden Sie (ASP.NET 5: die neue auf .NET Core oder das Update auf ASP.NET 4)? – Richard
WIE IST DIESES OFF-THEMA?!?!?! Lächerlich. –