2010-10-21 7 views
1

Quelle est la meilleure pratique pour développer une bibliothèque de classe partagée dans Visual Studio 2010 pour une application .NET 3.5 et une application 4.0?Ciblage de plusieurs versions de framework dans Visual Studio 2010

Je pourrais le faire avec des fichiers projet/solution séparés, un pour 3.5 et un pour 4.0, c'est-à-dire MyProject.3.5.csproj et MyProject.4.0.csproj, mais j'ai besoin de garder les fichiers synchronisés. Y a-t-il un meilleur moyen?

+4

Avez-vous besoin d'une version spécifiquement 3.5 et une version 4.0? 4.0 applications peuvent charger 3.5 assemblages très bien. – CodingGorilla

+0

J'avais l'impression que si vous n'aviez que .NET 4.0 installé, vous ne pouviez pas exécuter les assemblys .NET 3.5 car il utilisait un CLR différent. Ai-je tort? –

+0

Par exemple, si vous voulez écrire du code pour Microsoft Systems Center Operations Manager, il est indiqué que vous devez cibler à la fois .NET 3.5 et 4.x (voir https://msdn.microsoft.com/fr-fr/library/hh329057 .aspx, section intitulée "Visual Studio Solution"). Je ne vois pas comment cibler plus d'un, signifient-ils que vous avez besoin de 2 projets dans la solution, un pour chaque framework? –

Répondre

1

Vous pouvez créer un projet dans le cadre 3.5 et l'utiliser pour créer des DLL pour être utilisé soit 3.5 ou 4.0 projets

+0

Oui vous pouvez, bien que je ne sache pas encore comment le 4.0 CLR gère réellement cela, mais il semble que vous pouvez configurer l'application 4.0 (en utilisant app.config) pour prendre en charge les anciennes versions. –

1

Je pense que VS peut avoir différents projets ciblant différentes versions de .NET Framework dans la même solution sans problème. Créez une solution vide (quelle que soit la version de framework utilisée) puis ajoutez les projets correspondants (ici vous choisissez la bonne version de .NET framework pour chacun de vos projets).

Si vous disposez déjà d'une solution, vous pouvez modifier la version de ciblage de l'un de vos projets dans la solution en accédant aux propriétés du projet et en y modifiant la version cible de .NET Framework.

+0

+1: Les versions d'infrastructure sont en effet contrôlées au niveau du projet, pas au niveau de la solution. Nous avons plusieurs solutions qui se lient aux projets 4.0/3.5/et 2.0 selon la situation. – NotMe

Questions connexes