Chaîne d'interpolation ne fonctionne pas avec .NET Framework 4.6
Je viens d'installer la .NET Framework 4.6 sur ma machine et a ensuite créé un ConsoleApplication de ciblage .NET Framework 4.6 avec Visual Studio 2013.
J'ai écrit ce qui suit dans le Main
méthode:
string test = "Hello";
string format = $"{test} world!";
Mais cela ne veut pas compiler. Faire de même dans Visual Studio 2015 travaux.
Pourquoi?
- Vous avez besoin VS2015, qui plutôt heureusement pour vous, est due à être libéré aujourd'hui!
- Vous pouvez utiliser C#6 w/ VS2013, vous avez juste besoin d'un package NuGet. Voir ma réponse ci-dessous.
Vous devez vous connecter pour publier un commentaire.
Chaîne d'interpolation est un C# 6.0 fonction, pas un de .NET Framework 4.6. VS 2013 ne prend pas en charge C# 6 mais VS 2015 n'.
Chaîne d'interpolation est en effet un C# 6.0, mais C# 6 n'est pas limitée à VS2015.
Vous pouvez compiler des applications qui tirent parti de C# 6.0 fonctionnalités de langage VS2013, en ciblant le compilateur Roslyn plate-forme via le
Microsoft.Net.Compilers
Package NuGet.Mon expérience a été que, après l'installation de ce paquet, des messages d'erreur lors de la compilation peut être un peu trompeur. Si vous avez des erreurs de compilation qui ne sont pas C# 6, il vous sera montré ces messages d'erreur, plus de messages d'erreur concernant la syntaxe non valide concernant C# 6 caractéristiques que vous avez utilisé malgré le fait que vous êtes en train de cibler un compilateur qui les prend en charge.
Par exemple...
entraînera 4 messages d'erreur lors de la compilation:
La première des 3 erreurs ici se rapportent à la ligne qui utilise la chaîne d'interpolation, seule la dernière
; expected
erreur est un problème. Supprimer la fausse ligne droite avant de nous retourner leView
et de la chaîne d'interpolation des erreurs de compilation disparaître et tout est bien.