2011-01-01 1 views
2

J'ai lu à plusieurs endroits, incluez ici http://blogs.msdn.com/b/jaimer/archive/2010/04/30/windows-phone-capabilities-security-model.aspx que si une application Windows Phone n'a pas besoin d'une fonctionnalité, alors vous devriez le retirer du manifeste.Quelle est la manière correcte de gérer l'application 'Capabilities' listée dans le fichier WMAppManifest?

J'ai une application que je ne crois pas besoin de l'une des capacités.

Lorsque j'ai supprimé toutes les fonctionnalités du fichier manifeste, tout semble correct jusqu'à ce que je fasse l'une des deux choses.

One, Si je ferme et rouvrez le projet dans Visual Studio 2010, Visual Studio puis avec l'erreur se plaint suivante:

You are using a project created by a previous version of Windows Phone Developer Tools CTP. Your application may not run properly.

Please edit the WMAppManifest.xml file under Properties node and insert the following elements between element as show below.

et il répertorie toutes les fonctionnalités.

Le deuxième endroit où cela pose un problème est lorsque j'essaie de déboguer l'application sur mon téléphone. Je lis ici http://blog.adamnathan.net/2010/11/09/ThisAppMakesUseOfYourPhonesDataConnection.aspx que j'ai besoin d'ajouter cette capacité dans le manifeste si je veux déboguer mon application sur mon téléphone même si mon application n'en a pas besoin pendant une utilisation normale. Cela semble être vrai, mais il est très difficile d'ajouter cette fonctionnalité, puis n'oubliez pas de l'enlever lorsque je veux soumettre mon application sur le marché.

Alors, quelle est la bonne façon de gérer cela? Le marché va-t-il marquer mon application comme utilisant toutes les fonctionnalités si je les laisse dans le manifeste? Alors que le message d'erreur me demande d'ajouter toutes les fonctionnalités, Visual Studio arrêtera de se plaindre si j'ajoute uniquement la capacité de mise en réseau.

Répondre

3

Le processus d'intégration du marché réécrira correctement vos capacités dans la plupart des cas (en notant this exception connue). L'erreur que vous obtenez lors de la réouverture du projet est une logique qui a été implémentée dans le CTP d'avril, avant lequel la section <Capabilities> n'a pas été remplie. Nous vous avons donc demandé de corriger votre WMAppManifest.xml afin de spécifier le <Capabilities> nécessaire à votre application lors de l'ouverture des projets créés sous le CTP de mars pour la première fois.

Il semble que cela ne couvre pas le cas où de telles capacités ne sont pas utilisées. C'est peut-être quelque chose que l'équipe de la plate-forme devrait regarder.

Lors de la mise à jour d'octobre, l'outil de détection de capacité a été lancé, vous permettant d'effectuer la détection de capacité locale effectuée pendant l'ingestion.

How to: Use the Windows Phone Capability Detection Tool

observation est intéressant Adam avec dispositif debuging ayant une dépendance à ID_CAP_NETWORKING. Je ne sais pas si c'est intentionnel en ce moment, mais vous pouvez voir comment cela peut arriver.

+0

Merci! Je suis encore un peu confus cependant. Si le marché détecte les capacités des applications, alors pourquoi les lister? Est-ce que le marché utilise les capacités que je liste du tout? Devrais-je laisser la liste comme tout? Si tel était le cas, quel serait le but de l'outil de détection de capacités? Ou le marché suppose-t-il que si j'ai énuméré tout ce qu'il devrait exécuter sa propre détection, mais si j'énumère seulement certaines capacités il devrait employer ce que j'ai énuméré? – Zack

+0

Nous avons pensé que cela nous aiderait à évaluer les capacités que nous utilisons avant la publication de nos applications.Oui, vous pouvez tout lister localement et ne vous en souciez pas jusqu'à la publication si vous ne vous souciez pas de ce que voit votre utilisateur. La liste des plafonds inégaux pourrait cependant limiter votre auditoire sans nécessité. –

+0

C'est exactement mon problème. Je ne veux pas demander des capacités dont je n'ai pas besoin, par exemple la capacité du réseau, mais je dois empêcher le Visual Studio d'erreur et de déboguer. – Zack

Questions connexes