Incapable de retourner Tuple à partir d'une méthode à l'aide de Visual Studio 2017 et C# 7.0
J'ai installé Visual Studio 2017 de la Communauté qui a été publié il y a une semaine, et j'ai commencé à explorer les nouvelles fonctionnalités de C# 7.
J'ai donc créé une méthode simple qui retourne deux valeurs:
public class Program
{
public static void Main(string[] args)
{
(int sum, int count) a = ReturnTwoValues();
}
static (int sum, int count) ReturnTwoValues() => (1, 1);
}
Compilateur génère une erreur:
Erreur CS8137 Ne peut pas définir une classe ou d'un membre qui utilise des n-uplets
parce que le compilateur type
'Système.Moment de l'exécution.CompilerServices.TupleElementNamesAttribute' ne peut pas être
trouvé. Êtes-vous manque une référence?
J'ai essayé de trouver une référence dans le cadre de ce nom, mais avec pas de chance !
Si nous avons besoin d'autres choses à utiliser C# 7.0 fonctions, alors il est très étrange que nous devons le faire pour chaque projet ?!
- Double Possible de l'Activation de c# 7 dans un asp.net application
Vous devez vous connecter pour publier un commentaire.
J'ai Juste couru par le biais de cette page sur Roslyn qui décrit les étapes suivantes pour obtenir ce travail:
System.ValueTuple
paquet de NuGet (pre-release)
À la suite de ces étapes, il travaille maintenant. Mais c'est vraiment très bizarre que nous devons le faire pour chaque projet que nous avons départ! Espérons que cela soit corrigé quand nous arrivons à la sortie Officielle!
J'ai commencé à avoir cette erreur après que j'ai installé .Net de 4,7 Cadre, et changé mon projet à la cible .Net de 4,7
ValueTuple est maintenant inclus avec .Net de 4,7, de sorte que vous n'avez pas de référence à la ValueTuple manuellement.
Tout ce que j'avais à faire pour corriger l'erreur de compilation a été de supprimer la référence au Système.ValueTuple de mon projet de références.