58 votes

Comment activer toutes les fonctionnalités de C # 7 dans le projet Visual Studio 2017?

Après Visual Studio 2017 a été libérée, j'ai voulu essayer de créer de la simple console de projet avec visual C# 7 caractéristiques. J'attend simplement de téléchargement de Visual Studio 2017, puis créer un nouveau projet console et peut utiliser C# 7 caractéristiques. Mais je ne peux pas.

Je peux utiliser certaines fonctionnalités, comme les Tuples si j'ai installer le package NuGet Système.ValueTuple.

Mais pour d'autres fonctionnalités, je ne sais pas ce que je dois faire. Par exemple cette NuGet question.

Dois-je faire de tout ce sale installer maintenant? Ou je peux me permettre c# 7 fonctionnalités dans un moyen plus simple?

35voto

Scott Chamberlain Points 32782

Pour arbitraire de la tâche-comme les types que vous avez associé dans la 2ème partie de votre question, vous devez inclure l' System.Threading.Tasks.Extensions package.

La raison pour laquelle vous avez besoin de ces packages NuGet est parce que les nouvelles fonctionnalités du langage s'appuyer sur de nouveaux types ajouté à la .NET framework. Les nouveaux types que le langage C# caractéristiques dépendent de ne pas être "intégrée dans le cadre de" jusqu'à la prochaine version mineure libéré après 4.6.2 pour ne pas casser SemVer1. Donc, sauf si vous êtes la construction d'un projet à l'aide de la prochaine version du framework, vous aurez besoin d'utiliser les packages NuGet pour obtenir les caractéristiques de travail.

Ce n'est pas le même que celui des méthodes d'extension pour travailler dans un .NET 2.0 projet. Vous pouvez utiliser des méthodes d'extension, mais vous devez utiliser un package NuGet (ou ajouter le code vous-même) pour obtenir le type il s'appuie sur d'être ajouté à votre projet.


1: 4.7 ou 5.0, quoi qu'ils décident de l'appeler, si il y a un 4.6.3 il ne sera pas dans cette version parce que c'est pas une mise à jour mineure de la version bump, qui est une version du patch bosse et vous ne pouvez pas faire des changements de l'API dans un patch de la version bosse sans violer Sémantique de contrôle de version.

21voto

Tao Yue Points 346

Tout projet qui vise .NET de 4,7 pouvez utiliser C# 7 tuples sans l'ajout d'un package Nuget. Vous devez l'installer manuellement:

  1. Mise à niveau vers Windows 10 du Créateur de mise à Jour (10.0.15063), ou à installer .NET Framework 4.7 sur d'autres versions de Windows: https://www.microsoft.com/en-us/download/details.aspx?id=55170
  2. À partir du menu Démarrer, exécuter Visual Studio Installer et cliquez sur Modifier. Allez dans "composants Individuels" et cochez les deux composants suivants:
    • .NET Framework 4.7 SDK
    • .NET Framework 4.7 pack de ciblage

Il ne fonctionne pas out-of-the-box sur Windows 10 Créateur de la mise à Jour de Microsoft étant omis .NET de 4,7 composants de l' ".NET de l'environnement de bureau" de la charge de travail. J'ai déposé un bug, mais ils ont fermé qu'il n'est Pas un Bug:

2voto

M.Hassan Points 3885

Vs2017 update 3 peut prendre en charge le c # 7.1, mais il est configuré par défaut pour prendre en charge le c # 7.0.

Vous pouvez modifier les paramètres de votre projet et sélectionner c # 7.1

pour plus de détails sur la configuration de vs2017.3 pour prendre en charge la dernière version de c # 7.1

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X