Update :
Ab Visual Studio 2015 Update 1 gibt es in der GUI einen einfachen Vorgang, um die folgenden Schritte für Sie auszuführen. Klicken Sie einfach mit der rechten Maustaste auf Ihr Webprojekt und wählen Sie "C # 6 / VB 14 aktivieren". Weitere Informationen finden Sie im MSDN-Blogbeitrag " Neue Funktion zum Aktivieren von C # 6 / VB 14 ".
Da diese Antwort geschrieben wurde, wurde diese Funktionalität mithilfe 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 sollte Ihre web.config ändern, überprüfen Sie jedoch, ob die folgende Konfiguration in Ihrer web.config-Datei enthalten ist (und falls nicht, fügen Sie sie hinzu):
<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 integriert.
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, funktioniert dies nicht.
Der Trick ist, dass der Rasierer-Parser noch nicht intelligent genug ist, um einige Syntaxen zu erkennen. Sie müssen das Ganze daher in Klammern setzen (dies müssen Sie tun, wenn Sie den nullbedingten Operator ( ?.
) auch in Ihren Rasiereransichten verwenden).
Trotzdem ist die String-Interpolation in Razor im Moment in MVC6 ein bisschen fehlerhaft, daher wäre ich nicht überrascht, wenn es einige Probleme damit gäbe. ob sie angesprochen werden oder nicht, ist eine andere Frage.