J'ai un projet qui comporte plusieurs branches de la même application métropolitaine C#/xaml. Je dispose d'une tablette PC sur laquelle je teste les applications, et je procède généralement au déploiement d'un paquet d'applications sur cette tablette pour tester mon dernier code. Le problème qui se pose est que j'ai souvent plusieurs branches du même programme. J'aimerais pouvoir les exécuter toutes les deux (pour les comparer et les contraster) sur la tablette. Cependant, lorsque je veux installer l'application, elle me dit qu'elle est déjà installée et l'installation échoue. Quels paramètres dois-je modifier sur ma branche pour que Windows 8 voie la branche comme une application distincte ?
Réponses
Trop de publicités?J'essaierais de créer deux projets avec le même nom mais dans des dossiers parents différents et de faire une comparaison des répertoires de projets. Il doit y avoir une sorte d'ID que vous pouvez trouver de cette façon.
*EDIT (ajout de la réponse) En comparant les fichiers csproj, je peux voir différents GUIDs de projet :
<ProjectGuid>{2BC8E996-5E25-4714-9327-930553131C04}</ProjectGuid>
<ProjectGuid>{DFC50C25-399E-437A-B641-E48FEA776EFE}</ProjectGuid>
Mais l'autre différence est ce qui doit rendre les applications emballées différentes - dans Package.appxmanifest j'obtiens également des GUIDs différents :
<Identity Name="3b69e4ca-4072-4ec6-8790-4090bf72a8c3"
<Identity Name="2a943b24-68d2-4480-a475-1d606e546672"
Changer ce guide devrait aider.
Vous devriez pouvoir ajouter un identifiant de branche au nom du paquet, et il s'agirait alors d'un paquet différent.
Ceci n'est pas bon pour le déploiement final, mais devrait fonctionner si vous avez une licence de développeur installée.
Alors
company.applicationname
vs
-
company.applicationname-branch1
-
company.applicationname-branch2
doivent être considérés comme des paquets différents, et vous permettent donc d'avoir les deux installés.
>Quels paramètres dois-je modifier sur ma branche pour que Windows 8 la considère comme une application distincte ?
Le NOM de votre paquet dans votre AppxManifest.xml est la clé. Pour utiliser le langage XPath, un utilisateur ne peut avoir qu'un seul paquet installé par /Package/Identity[@Name] - c'est la partie unique.
[Et Nom+Éditeur est significatif ; si Nom=X, Éditeur=Y est installé et que vous essayez d'installer Nom=X, Éditeur=Z, vous obtiendrez une erreur].
Je crois que Visual Studio ajoute ".Debug" et ".Release" au nom s'il contrôle le nom, afin que vous puissiez utiliser F5 pour plusieurs configurations. [Cela a ses propres problèmes, par exemple si vous utilisez des notifications, qui doivent correspondre au nom...].