information

Gérer le même projet en WP7 et WP8

Bon, faut pas se voiler la face, y’a encore à ce jour pas mal de Windows Phone 7.x en service qu’il ne faut pas oublier. Et vous êtes peut être comme moi très attiré par les caractéristiques que nous offre les Windows Phone 8. Mais voilà, comment bien gérer mon application sans faire du double code ?
windowsphone7et8
Je vous partage ici une solution que m’a expliqué David Poulin dernièrement.

Outil nécessaire


Il faut d’abord installer une extension pour votre Visual Studio 2012 qui se nomme « Project Linker 2012 »
extensions
Que vous installerez via le menu [OUTILS] puis [EXTENSIONS ET MISE A JOURS] PS: Oui, je suis français, je parle français et je mets mes logiciels en .. français.
Ici le lien http://visualstudiogallery.msdn.microsoft.com/273dbf44-55a1-4ac6-a1f3-0b9741587b9a

Ajout d’un projet Windows Phone 8


Afin d’avoir une solution « propre » je renomme mon projet existant PhoneAppli en PhoneAppli7. Pensez juste après à aller dans les propriétés de ce projet pour vérifier l' »Objet de démarrage » et regardez si vos Nom d’assembly et/ou espace de nom de change pas.
Maintenant un clic droit sur la solution et [AJOUTER] [NOUVEAU PROJET…]
prjwp8
Et nous voilà maintenant avec nos deux jolis projets:
deuxprojets

Namespace

La première chose que je fais dans mon projet Windows Phone 8.0 est de mettre le même Namespace :
namespace

Flag de compilation


Il faut maintenant penser à rajouter un flag de précompilation pour le projet Windows Phone 8.0 « WP8 »:
flag

 
#if WP8
//code spécifique Windows Phone 8
#else
//code spécifique Windows Phone 7.x
#end if

Liaisons avec mon projet initial

Il faut maintenant que je relie mon projet WP8 à mon projet WP7.x en faisant un clic droit sur le projet [PhoneAppli8] puis [Add project link..]
projectlink
Et de choisir le projet initial :
projectlink2
A ce moment là, Project Linker, crée automatiquement toutes les liaisons dans mon projet PhoneAppli8. Par la suite lorsque vous supprimerez ou ajouterez un élément du projet initial, il sera supprimé ou ajouté du projet PhoneAppli8. Cela fonctionne heureusement que dans un sens car si vous ajoutez par exemple une classe dans le projet WP8, elle y sera que pour ce projet.

Ajout des liaisons sans utiliser « Project Linker »


Vous pouvez ajouter vos Assets, Class, Models, View, Pages… existantes manuellement sans utiliser l’extension Project Linker en « liaison » en faisant un clic droit sur le projet PhoneAppli8, [Ajouter] [ELEMENT EXISTANT]. Vous sélectionnez le ou les éléments et veillez à sélectionnez « [Ajouter en tant que lien] » :
itemlinks
Et pour aller plus vite, sélectionner l’élément que vous aller déplacer en appuyez sur la touche ALT et faite un glisser-déposer dans le projet PhoneAppli8.

Vous remarquerez que l’icone de l’élément ajouté se distingue par un petit symbole supplémentaire. J’ai remarqué aussi que la modification d’un XAML se fait du projet initial et pas du second.

Références

Les références ne sont bien évidement pas reliées ; Certaines spécifiées sont propres à Windows Phone 8, il faut donc les rajouter soi-même.

Autre chose, personnellement, je n’ai pas relié l’App.xaml.

Ceci n’est qu’une méthode.. il y en a surement d’autre… 😉

handbook

2 Responses to Gérer le même projet en WP7 et WP8

  1.  

    Je fais la même chose, et ca marche nickel !

  2.  

    Je pense que tu aurais aussi du parler du regroupement des fichiers xaml et xaml.cs qui est un problème qu’on rencontre dès qu’on ajoute en tant que lien des pages xaml 😉
    http://spasol.wordpress.com/2013/03/04/grouping-xaml-and-code-behind-file-in-visual-studio/

feedback
conditions
feedback