VS2005 ne supporte pas le ciblage, c'est à vous de choisir judicieusement les assemblages que vous ajoutez comme références, votre programme demandera le CLR V2.0. VS2008 supporte le choix entre 2.0, 3.0 et 3.5. C'est une astuce simple, il ne fait que masquer les assemblages qui ne sont pas disponibles dans une version antérieure, donc vous ne pouvez pas les ajouter. Votre programme demandera toujours la CLR V2.0, la version CLR pour les trois versions du framework.
VS2010 cible le CLR V4.0 par défaut. Vous pouvez cibler les versions antérieures, mais cela pose problème. Le système de construction a été radicalement changé, en passant à MSBuild au lieu de l'ancien constructeur C/C++. Vous ne pouvez cibler une version antérieure que si VS2008 est également installé sur votre machine. Les projets que vous importez à partir d'une version antérieure de VS nécessitent d'éditer manuellement le fichier .vcxproj pour les amener à cibler une version antérieure de .NET. Une bonne dose de douleur ici, pas sûr de ce qui est en magasin pour SP1.