Я тестирую Visual Studio 2015 с C # 6.0, но языковые функции не работают. В веб-приложении MVC следующий код компилируется:
if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName))
{
// More logic here...
}
Однако, когда я запускаю приложение через Debug и IIS Express, я получаю следующую ошибку:
CS1525: недопустимый термин "."
Как включить эти функции?
c#
asp.net-mvc
visual-studio-2015
roslyn
c#-6.0
Крис Шиффхауэр
источник
источник
compiler
элемент для roslyn codeprovider msdn.microsoft.com/en-us/library/y9x69bzw(v=vs.110).aspx в web.config?Ответы:
Это работает в MVC 5 (протестировано 5.2.3), вам просто нужно добавить пакет roslyn code dom Nuget
Поставщики CodeDOM для компилятора .NET ...
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
источник
nuget.org
. Как видно из ссылки, это правильное имя, и пакет существует.Ну, у меня есть MVC5 и недавно установленный VS 2015.
Я установил пакет провайдеров CodeDOM, но это не помогло ... Но после этого я понял, что этот пакет поддерживает только фреймворк 4.5, в то время как во время тестов у меня установлен целевой фреймворк 4.6, хотя он работает и с 4.5 ...
Поэтому обратите внимание и на целевые рамки. Если у вас 4.5 - просто установите пакет Microsoft.CodeDom.Providers.DotNetCompilerPlatform. Но если у вас есть 4.5.1-4.6 в качестве цели, вам придется изменить в разделе web.config
Для C # просто измените тип на:
источник
C# 6
работатьASP.NET 4.6
, но, возможно, было бы лучше опубликовать код с правильнымtype
там уже ...У меня была такая же проблема в Visual Studio 2015. Другой ответ здесь ссылался на решение, которое я использовал, но они неправильно указали исправление и никогда не давали разъяснения.
В меню Visual Studio выберите Project, и вы должны увидеть подпункт Enable C # 6 / VB 14, если у вас возникла эта проблема. Выберите этот подпункт меню. Он загрузит правильные пакеты из Nuget и установит их. После этого перезапустите Visual Studio и перезагрузите решение.
Я не могу проверить, исправит ли это также свойства Project> Build> Advanced> Language Version для C # 6 , поэтому вы можете проверить это после включения C # 6 из меню.
источник
Проверьте свойства вашего проекта, перейдите в build, advanced и посмотрите, есть ли C # 6.0, если у вас его нет по умолчанию.
В настоящее время есть отличная поддержка MVC5 и C # 6.0 и работает на удивление хорошо!
источник
В том числе следуя совету установки последней версии,
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
мне также пришлось установить для этого рут,Web.config
system.codedom
чтобы в конечном итоге устранить все ошибкиVisual Studio 2015
:Теперь перезапустите,
Visual Studio
и это должно сделать это.источник
Visual Studio 2015 также будет отображаться
Enable C#6 / VB 14
в меню «Проект» с выбранным веб-сайтом / веб-приложением ASP.NET.Это де - факто установить
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
иMicrosoft.Net.Compilers
пакеты в свой проект и добавить соответствующие теги в файле web.config.источник
источник