2009-12-16 7 views
5

Possible en double:
Change the Target Framework for all my projects in a Visual Studio SolutionChanger le cadre cible pour tous mes projets dans Visual Studio 2008 à 3,5

J'ai juste converti un projet Visual Studio de 2005 à 2008 à tirer parti des fonctionnalités de .NET 3.5 Framework. Ma solution contient environ 80 projets et je souhaite définir le Framework cible sur .NET Framework 3.5 pour chacun d'entre eux. Y a-t-il un moyen de le faire sans entrer manuellement et de les changer un par un dans Propriétés -> Application -> Cadre cible?

+1

@JimG. Cette question a été posée plus tôt que le doublon que vous mentionnez, de sorte que question plus d'un duplicata de celui-ci. –

+0

@Paul Hiemstra: Vous avez raison. L'autre question a une prime ouverte, mais je ne suis pas sûr qu'une prime devrait nécessairement légitimer ce qui serait autrement une copie fermée. –

Répondre

4

Vous devez modifier tous les fichiers .csproj et changer la ligne:

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 

Vous pouvez écrire un programme qui scanner vos projets dossiers pour tous les fichiers .csproj, les lire sous forme de texte (ou peut-être xml), mettez à jour cette ligne, puis écrivez-les à nouveau.

Vous pourriez avoir un problème si elles ne sont pas déjà des projets VS 2008. Convertissez-les donc en premier. Et comme vous le faites, il sera probablement aussi rapide (sinon plus rapide) de mettre à jour la version du framework cible à la main. Cela dit, pourquoi ne pas le laisser seul jusqu'à ce que vous fassiez du code changer le projet quand même. Comme votre code fonctionne maintenant, et la seule raison pour laquelle vous voulez mettre à jour est de faire usage des nouvelles fonctionnalités que vous allez devoir éditer le projet quand même.

+0

Oui. J'ai déjà trouvé toutes les références au framework précédent dans les fichiers .csproj et les change. Je me demandais simplement s'il me manquait des fonctionnalités dans Studio. Cela ne semble pas. Merci quand même. –

2

En théorie vous pourriez faire une différence entre les fichiers .csproj avant et après la modification de la version du cadre. .csproj est un fichier XML, donc c'est quelque chose que vous pourriez écrire un programme à analyser et à modifier.

En pratique, je ne ferais pas cela, car il peut y avoir des subtilités que cela pourrait manquer. Par exemple: les projets d'installation fonctionnent-ils de la même manière? Projets de déploiement Web? En outre, supposons qu'il vous faut quelques secondes pour faire chacun à la main. Cela prendra environ deux ou trois minutes pour faire toute la solution. Cela peut être plus rapide que d'écrire le code ...!

Questions connexes