2 ответов:
обновление:
начиная с Visual Studio 2015 Update 1, есть простой процесс в графическом интерфейсе, чтобы сделать следующие шаги для вас. Просто щелкните правой кнопкой мыши ваш веб-проект и выберите "Включить C# 6 / VB 14". Дополнительная информация доступна в блоге MSDN,"новая функция для включения C# 6 / VB 14".
поскольку этот ответ был написан, эта функциональность была добавлена с помощью пакета NuGet.
добавить этот пакет Nuget к вашему решению, если вы используете MVC5.
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
пакет nuget должен изменить ваш веб.config, но убедитесь, что следующие конфигурации в web.конфигурационный файл (и если это не добавить его в):
<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>В MVC6, это встроенный.
оригинальный ответ:
<div> @($"Hello {this.Model.SomeProperty}") </div>это работает только в C# 6 с MVC6. Даже если это так запуск MVC5 с компилятором C# 6, он не будет работать.
фокус в том, что парсер razor еще недостаточно умен, чтобы распознавать некоторые синтаксисы, поэтому вы должны обернуть все это в скобки (вы должны сделать это при использовании оператора null-conditional (
?.) в ваших представлениях бритвы также).что сказал, строка интерполяции в Razor является немного глючит на данный момент в MVC6, поэтому я не удивлюсь, если с ним возникнут какие-то проблемы. независимо от того, являются ли они будет решаться совсем другой вопрос.
Run следующая команда в вашем
Package Manager Consoleдля добавления необходимаCodeDomпоставщик для вашего проекта. Это также изменить вашweb.configфайл автоматически добавитьCodeDomтребуют настройки к нему.
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
- перезагрузка the
Visual Studio
Примечание: как @Jake упоминается в его комментарии при этом ответьте, если у вас есть
DotNetCompilerPlatformпакет уже, поэтому попробуйте обновить его.
Comments