Je parcourais les dernières fonctionnalités introduites dans C # 6.0 et je viens de suivre un exemple d'initialisation automatique des propriétés,
class NewSample
{
public Guid Id { get; } = Guid.NewGuid();
}
mais mon IDE n'a pas reconnu la syntaxe.
Je me demande comment je pourrais activer C # 6.0 dans Visual Studio 2013. Le cadre cible que j'utilise est 4.5.1.
c#
visual-studio
visual-studio-2013
c#-6.0
Hassaan
la source
la source
Réponses:
Informations sur les versions préliminaires obsolètes:
Selon cela, c'est juste une installation et c'est parti pour Visual Studio 2013:
Il suffit donc de récupérer les fichiers sur https://github.com/dotnet/roslyn et vous êtes prêt à partir.
Vous devez savoir qu'il s'agit d'une version obsolète des spécifications implémentées, car ils ne mettent plus à jour le package pour Visual Studio 2013 :
Donc, si vous souhaitez utiliser la dernière version, vous devez télécharger Visual Studio 2015 .
la source
Sous VS2013, vous pouvez installer les nouveaux compilateurs dans le projet sous forme de package de nuget . De cette façon, vous n'avez pas besoin de VS2015 ou d'un serveur de build mis à jour.
https://www.nuget.org/packages/Microsoft.Net.Compilers/
Le package vous permet d'utiliser / construire du code / syntaxe C # 6.0. Parce que VS2013 ne reconnaît pas nativement la nouvelle syntaxe C # 6.0, il affichera des erreurs dans la fenêtre de l'éditeur de code bien qu'il se construise correctement .
En utilisant Resharper, vous obtiendrez des lignes ondulées sur les fonctionnalités C # 6, mais l'ampoule vous donne l'option `` Activer la prise en charge C # 6.0 pour ce projet '' (paramètre enregistré sur .DotSettings).
Comme mentionné par @ stimpy77: pour le support dans les vues MVC Razor, vous aurez besoin d'un package supplémentaire (pour ceux qui ne lisent pas les commentaires)
Si vous souhaitez une prise en charge complète de C # 6.0, vous devrez installer VS2015.
la source
Beaucoup de réponses ici ont été écrites avant Roslyn (les compilateurs open-source .NET C # et VB) ne passe à .NET 4.6. Donc, ils ne vous aideront pas si votre projet cible, disons, 4.5.2 comme le mien (hérité et ne peut pas être modifié).
Mais vous pouvez récupérer une version précédente de Roslyn sur https://www.nuget.org/packages/Microsoft.Net.Compilers et l'installer à la place de la dernière version. J'ai utilisé 1.3.2. (J'ai essayé 2.0.1 - qui semble être la dernière version qui s'exécute sur .NET 4.5 - mais je n'ai pas pu le compiler *.) Exécutez cela à partir de la console du gestionnaire de packages dans VS 2013:
Redémarrez ensuite Visual Studio. J'ai eu quelques problèmes au début; vous devez rétablir la version C # par défaut (C # 6.0 n'apparaît pas dans la liste des versions mais semble avoir été par défaut), puis nettoyer, enregistrer, redémarrer VS et recompiler.
Fait intéressant, je n'ai pas eu d'erreurs IntelliSense en raison des fonctionnalités C # 6.0 utilisées dans le code (qui étaient la raison de vouloir C # 6.0 en premier lieu).
* la version 2.0.1 a généré une erreur La tâche "Microsoft.CodeAnalysis.BuildTasks.Csc n'a pas pu être chargée à partir de l'assembly Microsoft.Build.Tasks.CodeAnalysis.dll. Impossible de charger le fichier ou l'assembly 'Microsoft.Build.Utilities.Core, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a 'ou l'une de ses dépendances. Le système ne trouve pas le fichier spécifié. Confirmez que la déclaration est correcte, que l'assembly et toutes ses dépendances sont disponibles et que la tâche contient un classe publique qui implémente Microsoft.Build.Framework.ITask.
MISE À JOUR Une chose que j'ai remarquée depuis la publication de cette réponse est que si vous modifiez un code pendant le débogage ("Modifier et continuer"), vous aimerez constater que votre code C # 6.0 apparaîtra soudainement comme des erreurs dans ce qui semble revenir à un environnement pré-C # 6.0. Cela nécessite un redémarrage de votre session de débogage. TRÈS ennuyeux surtout pour les applications web.
la source
Il convient de mentionner que le temps de construction sera augmenté pour les utilisateurs de VS 2015 après :
Ceux qui utilisent VS 2015 et doivent conserver ce package dans leurs projets peuvent corriger l'augmentation du temps de construction .
Modifier le fichier
packages\Microsoft.Net.Compilers.1.2.2\build\Microsoft.Net.Compilers.props
et nettoyez-le. Le fichier doit ressembler à:Cela oblige à construire un projet tel qu'il était avant d'ajouter un
Microsoft.Net.Compilers
packagela source
Il est possible d'utiliser les fonctionnalités C # 6.0 complètes dans Visual Studio 2013 si vous disposez de Resharper.
Vous devez activer Resharper Build et voilá! Dans les options Resharper -> Build - activez Resharper Build et dans "Use MSBuild.exe version" choisissez "Latest Installed"
De cette façon, Resharper va construire vos projets C # 6.0 et ne soulignera pas non plus le code C # 6.0 comme non valide.
J'utilise également cela même si j'ai Visual Studio 2015 car:
Je mets cela ici, car je cherchais une solution à ce problème depuis un certain temps maintenant et peut-être que cela aidera quelqu'un d'autre.
la source
Il semble qu'il y ait un malentendu. Donc, au lieu d'essayer de corriger VS2013, voici la réponse d'un gars de Microsoft: https://social.msdn.microsoft.com/Forums/vstudio/en-US/49ba9a67-d26a-4b21-80ef-caeb081b878e/will-c- 60-ever-be-supported-by-vs-2013? Forum = roslyn
Alors, lisez-le et installez VS2015.
la source