2010-12-07 3 views
3

J'ai une bibliothèque de contrôles WPF 3.5 fonctionnant avec une application WPF 3.5. Je voudrais maintenant créer une version WPF 4 de l'application et utiliser la même bibliothèque (code source) pour les versions 3.5 et 4 de l'application.Multi-ciblage WPF et NET 3.5 à 4

Quelles sont mes options ici? Quelles sont les manières communes (le cas échéant) de gérer ce type de ciblage multiple? Dois-je gérer deux projets distincts pour les versions WPF 3.5 et WPF 4 de la bibliothèque en faisant référence aux mêmes fichiers/code source (avec des mises à jour manuelles pour les deux projets)? Ou devrais-je maintenir juste la version WPF 3.5 et dans mon application WPF 4 référence une bibliothèque binaire WPF 3.5? J'ai essayé ce dernier et découvert que cela pourrait fonctionner avec un "app.config remapping" mais je n'aurais pas la possibilité d'accéder directement au code source de la bibliothèque WPF 3.5 à partir d'un projet WPF 4.

Les pointeurs sont appréciés.

EDIT: Le projet/solution NET 3.5 doit être géré dans VS2008 pendant que la solution NET 4 est maintenue dans VS2010.

+0

Utilisez une solution multi-cible. Voir ma réponse ci-dessous. –

Répondre

0

Les liens vers le code source sont simplement nuls. Essayez d'éviter cela chaque fois que vous le pouvez.

En général, je vois les options suivantes:

  1. Créer un projet/solution distincte fichiers dans le même dossier (un pour VS2010 autre pour VS2008)
  2. mantenir votre lib au sein VS2008, lien comme une référence binaire. Attention: vous devrez peut-être définir l'application cadre cible 4.0 client profil au lieu de "plain" 4.0.
+0

Pourquoi le couplage de code ** est-il nul ** pour ce problème particulier? –

+0

@ Point1: Vous avez des fichiers de projet vs2008. Vous ajoutez un projet vide en utilisant vs2010 au même emplacement que le projet 2008. maintenant vous ajoutez tous ces fichiers de code au projet vs2010. – Jaster

+0

La liaison de code est toujours une source d'erreurs huuuuuuuge. Vous ne savez jamais où votre fichier est lié ou comment il est réutilisé. Vous déchirez simplement une partie de votre bibliothèque et la réutilisez quelque part complètement différente. En fonction de votre contrôle de source, vous devez gérer les liens de différentes manières, ce qui provoque des effets secondaires désagréables. Pour le scénario particulier, il n'y a tout simplement pas besoin de liens! – Jaster

2

tout simplement avoir une solution avec 2 projets:
Projet 1: Votre projet de bibliothèque WPF contrôle ciblant 3.5
Projet 2: Votre version WPF 4.0 de l'application cible 4.0.

Il n'y a rien de mal à cela, c'est très simple à faire et vous pouvez avoir des références directes du projet 4.0 au 3.5.

alt text

Questions connexes