Aktualizacja:
Zaczynając w Visual Studio 2015 Update 1, W GUI jest prosty proces, aby wykonać poniższe czynności. Po prostu kliknij projekt WWW prawym przyciskiem myszy i wybierz "Włącz C# 6/VB 14". Więcej informacji można znaleźć w poście na blogu MSDN "New feature to enable C# 6/VB 14".
Od tej odpowiedzi została napisana ta funkcjonalność została dodana przy pomocy pakietu NuGet.
Dodaj tę paczkę Nuget do swojego rozwiązania, jeśli używasz MVC5.
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
Pakiet Nuget należy zmodyfikować web.config, ale sprawdzić, czy jest następująca konfiguracja w pliku web.config (a jeśli nie to dodaj ją):
<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>
W MVC6 jest to wbudowane.
Oryginalny odpowiedź:
<div>
@($"Hello {this.Model.SomeProperty}")
</div>
Zadziała tylko w C# 6 z MVC6. Nawet jeśli używasz MVC5 z kompilatorem C# 6, to nie zadziała.
Podstęp polega na tym, że parser maszynki do golenia nie jest wystarczająco inteligentny, aby rozpoznać pewne składnie, więc musisz zawijać całość w nawiasach (musisz to zrobić, używając operatora o wartości zerowej (?.
) w widokach maszynki dobrze).
To powiedziawszy, interpolacja struny w Razor jest obecnie w MVC6 a bit buggy, więc nie zdziwiłbym się, gdyby były jakieś problemy. czy będą one adresowane czy nie, to inna kwestia.
można wyświetlić kod mówisz? –
Które ASP.NET używasz (ASP.NET 5: nowy zbudowany na .NET Core lub aktualizacja do ASP.NET 4)? – Richard
W JAKI SPOSÓB TO TEGO ZAWARTA TEMAT?!?!?! Śmieszny. –