2010-10-25 5 views
8

J'ai actuellement un projet sur lequel je travaille et qui a pour cible .NET Framework 3.5. J'utilise Visual Studio 2010; Toutefois, mes collègues utilisent Visual Studio 2008. Je peux utiliser les fonctionnalités C# 4.0 telles que les paramètres de fonction optionnels, mais s'ils essaient de créer le même code avec la même cible, ils ne peuvent pas le faire. J'avais cru comprendre que même si j'utilisais Visual Studio 2010, je ne serais pas capable d'utiliser les fonctionnalités .NET 4.0 puisque la cible était .NET 3.5.Le projet compilé avec .NET Framework 3.5 permet les fonctionnalités C# 4.0

Répondre

14

Par défaut, l'infrastructure de ciblage multiple restreint uniquement l'ensemble des fonctionnalités qui entraîneraient des problèmes de compatibilité avec le CLR (pas le code source). De ce fait, named et optionnel sont légaux car il n'y a aucun problème à l'utiliser sur les CLR 2.0 ou 3.5.

Si vous voulez restreindre l'ensemble des fonctionnalités C# à celles qui sont légales sur le compilateur 3.5, vous devez changer l'option de la version de la langue.

  • Faites un clic droit sur le projet et sélectionnez Propriétés
  • Aller à construire onglet
  • Cliquez sur le bouton Avancé
  • Switch le combo version de langue à "C# 3.0"

alt text

Questions connexes