Comment puis-je désactiver le C# 6 prise en charge dans Visual Studio 2015?
Fond
Nous avons un projet que nous développons dans VS 2015 avec C#6 activé que de temps en temps besoin d'être ouvert par les développeurs utilisant VS 2013 en l'absence de C#6.
Nous n'avons pas l'intention d'utiliser le C# 6 à l'intérieur de cette solution particulière (autant que je le voudrais).
Problème
Visual Studio et ReSharper suggèrent utile C# 6 constructions de langage qui rendent la solution inutilisable dans les versions antérieures de Visual Studio sans C#6 prise en charge.
J'ai désactivé le ReSharper C#6 prise en charge mais je n'arrive pas à désactiver /limite C# caractéristiques à travers l'ensemble de la solution.
Question
Comment puis-je limiter le nombre de C# C#5 capacités dans une solution ou dans Visual Studio 2015?
- Construire onglet, bouton Avancé, la Langue de la version de réglage.
- merci! C'est exactement ça. Je vais l'écrire dans le formulaire de réponse, mais si vous poster la réponse ici, je vais être sûr de marquer la vôtre comme la bonne.
- Exactement mon problème! à l'exception de notre solution est en 2013, mais je veux continuer à utiliser VS2015 à la place.
- il n'y a pas nécessairement un besoin; vous pouvez toujours pas utiliser le C#6 caractéristiques. Visual studio et resharper utilement suggèrent refactorings qui utilisent ces fonctions, mais. Tant que votre ordinateur prend en charge C#6, il ne devrait pas être un problème.
- Je ne veux pas utiliser le c#6... mais j'ai toujours ces suggestions.. je les ai retirées pour resharper.. mais de demander pour visual studio... je suppose que visual studio ne les fournissez intellisense suggérant c#6 parce que mon .net framework est de 4.5
- Toute la -- si vous suivez les instructions de la réponse, vous serez la valeur de visual studio. Le changement de la langue à partir de "par défaut" à 5. C'est dans chacun de propriétés du projet
- Notre checkin construire la machine ne le fait pas, nous avons rencontré le problème. Aussi certains devs à l'aide de VS2013 en raison de perf, les problèmes et les bogues dans VS2015 (régressions introduites par Roslyn) donc je suis à la recherche pour désactiver le C# 6.0 sur quelques solutions si possible.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez régler la langue de la fonctionnalité de chaque projet séparément en allant à
Properties => Build tab => Advanced button => Language Version
et de définir votre version préférée.Vous devez réaliser qu'il va encore utiliser le nouveau "C# 6.0" .Net Compilateur Plate-forme (nom de code Roslyn). Cependant, que le compilateur va imiter le comportement des anciens compilateurs et vous limitera aux fonctions disponibles uniquement sur la version linguistique spécifique.
Je ne pense pas qu'il y a une solution à l'échelle de réglage disponibles.
PropertyGroup
élément:<LangVersion>5</LangVersion>
<LangVersion>6</LangVersion>
à la place.ajouter ci-dessous dans
.sln.DotSettings
devez le désactiver sur le niveau de la solutionOu si vous n'avez pas de
.sln.DotSettings
fichier:Si votre fichier s'appelle Apple.la sln, créer un fichier côté appelé Apple.la sln.DotSettings.
Lui donner le contenu suivant:
De fermer et de rouvrir la solution, Resharper ne doit vous avertir de C#5 choses.
N'oubliez pas de retirer cette option lorsque vous éventuellement commencer à l'aide de C#6 fonctionnalités! 🙂
Ce outil j'ai écrit peut vous aider si vous avez de nombreux projets que vous avez besoin pour définir
LangVersion
pour.Vous pouvez définir la langue pour toutes les
solutions/csproj
avec leMSBuildUserExtensionsPath
.Recherche la valeur de la
$(MSBuildUserExtensionsPath)
, il doit être quelque chose commeC:\Users\$(User)\AppData\Local\Microsoft\MSBuild
Ensuite modifier le fichier
Force.LangVersion.ImportBefore.props
dans le dossier$(MSBuildUserExtensionsPath)\14.0\Imports\Microsoft.Common.Props\ImportBefore
avec :Des mesures ont déjà été écrit ci-dessus, tout en ajoutant une capture d'écran en plus de mon VS2015:
Propriétés de projet >> Build >> Avancé >> version en Langue
J'ai mis que de C# 5.0.
Clic droit sur le Projet dans l'Explorateur de Projet et sélectionnez Propriétés.
Lorsque l'onglet Propriétés s'ouvre, sélectionnez la et cliquez sur le bouton d'Avance en bas à droite.
Il est liste déroulante appelée Version de Langue. Changer le sélectionner pour "C# 5.0"