Je teste Visual Studio 2015 avec C # 6.0 mais les fonctionnalités linguistiques ne fonctionnent pas. Dans une application Web MVC, le code suivant comstack:
if (!ssortingng.IsNullOrWhiteSpace(Model.Profile?.TypeName)) { // More logic here... }
Cependant, lorsque je lance l’application via Debug et IIS Express, j’obtiens l’erreur suivante:
CS1525: Terme d’expression non valide ‘.’
Comment puis-je activer ces fonctionnalités?
Cela fonctionne dans MVC 5 (testé 5.2.3), il vous suffit d’append le package roslyn code dom Nuget
Fournisseurs CodeDOM de remplacement qui utilisent le nouveau compilateur .NET Comstackr Platform (“Roslyn”) en tant qu’API de service. Cela permet de prendre en charge de nouvelles fonctionnalités de langage dans les systèmes utilisant CodeDOM (par exemple, la compilation d’exécution ASP.NET), ainsi que d’améliorer les performances de compilation de ces systèmes.
PM> Install-Package Microsoft.CodeDom.Providers.DotNetComstackrPlatform
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetComstackrPlatform/
Eh bien, j’ai MVC5 et récemment installé VS 2015.
J’ai installé le paquet de fournisseurs CodeDOM, mais cela n’a pas aidé … Mais après cela, j’ai réalisé que ce paquet ne supporte que framework 4.5, alors que le framework cible est défini sur 4.6 pendant les tests – il fonctionne avec 4.5 cependant …
Donc, faites attention au cadre cible. Si vous avez 4.5 – installez simplement le package Microsoft.CodeDom.Providers.DotNetComstackrPlatform. Mais si vous avez comme cible 4.5.1-4.6, vous devrez changer dans la section web.config
Pour C # , changez simplement le type en:
type="Microsoft.CodeDom.Providers.DotNetComstackrPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetComstackrPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
J’avais ce même problème dans Visual Studio 2015. Une autre réponse ici a fait allusion à la solution que j’ai utilisée, mais ils ont mal 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 va télécharger les paquets corrects de Nuget et les installer. Après cela, redémarrez Visual Studio et rechargez votre solution.
Je ne peux pas vérifier si cela corrigera également les propriétés du projet> Créer> Avancé> Version de la langue à C # 6 , vous pouvez donc vérifier cela également après avoir activé C # 6 dans le menu.
Vérifiez vos propriétés de projet, allez à la construction, avancez et voyez si C # 6.0 si vous ne l’avez pas comme défaut.
Actuellement, il existe un support parfait pour MVC5 et C # 6.0 et fonctionne étonnamment bien!
Y compris en suivant les conseils d’installation de la dernière version de Microsoft.CodeDom.Providers.DotNetComstackrPlatform
je devais également définir ma racine Web.config
system.codedom
pour obtenir enfin toutes les erreurs dans Visual Studio 2015
:
Maintenant, redémarrez Visual Studio
et cela devrait le faire.
Visual Studio 2015 affichera également un Enable C#6 / VB 14
dans le menu Projet avec un site Web ASP.NET / une application Web sélectionnée.
Cela va installer de facto les packages Microsoft.CodeDom.Providers.DotNetComstackrPlatform
et Microsoft.Net.Comstackrs
dans votre projet et append les balises appropriées dans le fichier web.config.