Je teste Visual Studio 2015 avec C # 6.0 mais les fonctionnalités du langage ne fonctionnent pas. Dans une application Web MVC, le code suivant se compile:
if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName))
{
// More logic here...
}
Cependant, lorsque j'exécute l'application via Debug et IIS Express, j'obtiens l'erreur suivante:
CS1525: terme d'expression non valide «.»
Comment activer ces fonctionnalités?
c#
asp.net-mvc
visual-studio-2015
roslyn
c#-6.0
Chris Schiffhauer
la source
la source
compiler
élément pour le fournisseur de code roslyn msdn.microsoft.com/en-us/library/y9x69bzw(v=vs.110).aspx dans le web.config?Réponses:
Cela fonctionne dans MVC 5 (testé 5.2.3), il vous suffit d'ajouter le package roslyn code dom Nuget
Fournisseurs CodeDOM pour le compilateur .NET ...
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
la source
nuget.org
. Comme vous pouvez le voir sur le lien, c'est le nom correct et le package existe.Eh bien, j'ai MVC5 et VS 2015 récemment installé.
J'ai installé le package de fournisseurs CodeDOM, mais cela n'a pas aidé ... Mais après cela, j'ai réalisé que ce package ne prend en charge que le framework 4.5, alors que le framework cible est défini sur 4.6 pendant les tests - cela fonctionne avec 4.5 cependant ...
Faites donc également attention au cadre cible. Si vous avez 4.5 - installez simplement le package Microsoft.CodeDom.Providers.DotNetCompilerPlatform. Mais si vous avez 4.5.1-4.6 comme cible, vous devrez changer dans la section web.config
Pour C # , changez simplement le type en:
la source
C# 6
à travailler avecASP.NET 4.6
, mais il aurait peut-être été préférable d'afficher le code avec le bontype
déjà là ...J'avais ce même problème dans Visual Studio 2015. Une autre réponse ici faisait allusion à la solution que j'ai utilisée, mais ils ont incorrectement spécifié le correctif et n'ont jamais donné de clarification.
Dans le menu Visual Studio, sélectionnez Projet et vous devriez voir le sous-élément Activer C # 6 / VB 14 si vous rencontrez ce problème. Sélectionnez ce sous-élément de menu. Il téléchargera les packages corrects de Nuget et les installera. Après cela, redémarrez Visual Studio et rechargez votre solution.
Je ne peux pas vérifier si cela corrigera également la sélection de Propriétés du projet> Construire> Avancé> Version du langage sur C # 6 , vous pouvez donc vérifier cela également après avoir activé C # 6 dans le menu.
la source
Vérifiez les propriétés de votre projet, accédez à la génération, aux avancées et voyez si C # 6.0 si vous ne l'avez pas par défaut.
Actuellement, il existe un support parfait pour MVC5 et C # 6.0 et fonctionne incroyablement bien!
la source
En suivant les conseils d'installation de la dernière version,
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
j'ai également dû définir ma racineWeb.config
system.codedom
sur cette option pour que toutes les erreursVisual Studio 2015
disparaissent:Maintenant, redémarrez
Visual Studio
et cela devrait le faire.la source
Visual Studio 2015 affichera également un
Enable C#6 / VB 14
dans le menu Projet avec un site Web / application Web ASP.NET sélectionné.Cela installera de facto
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
et lesMicrosoft.Net.Compilers
packages dans votre projet et ajoutera les balises appropriées dans le fichier web.config.la source
la source