管理WMAppManifest文件中列出的应用程序“功能”的正确方法是什么?

时间:2011-01-01 21:53:59

标签: windows-phone-7

我已在多个地方阅读,包括http://blogs.msdn.com/b/jaimer/archive/2010/04/30/windows-phone-capabilities-security-model.aspx,如果Windows Phone应用程序不需要功能,那么您应该从清单中删除它。

我有一个我认为不需要任何功能的应用程序。

当我从清单文件中删除所有功能时,一切似乎都没问题,直到我做了两件事之一。

一,如果我在Visual Studio 2010中关闭并重新打开项目,则Visual Studio会抱怨以下错误:

  

您正在使用由a创建的项目   以前版本的Windows Phone   开发人员工具CTP。你的申请   可能无法正常运行。

     

请编辑WMAppManifest.xml文件   在Properties节点下插入   以下要素   之间   元素如下所示。

然后列出所有功能。

这导致问题的第二个地方是我尝试在手机上调试应用程序。 我在这里阅读http://blog.adamnathan.net/2010/11/09/ThisAppMakesUseOfYourPhonesDataConnection.aspx我需要在清单中添加此功能,如果我想在手机上调试我的应用程序,即使我的应用程序在正常使用时不需要它。 这似乎是真的,但是当我想要将我的应用程序提交到市场时,必须添加此功能然后记得删除它是一件非常麻烦的事情。

那么管理这个的正确方法是什么?如果将我的应用留在清单中,市场是否会将我的应用标记为使用所有功能?

[更新:2011年1月1日下午4:58] 虽然错误消息告诉我要添加所有功能,但如果我只添加网络功能,Visual Studio将停止抱怨。

1 个答案:

答案 0 :(得分:3)

在大多数情况下,市场提取过程会正确地重写您的能力(注意this已知异常)。

重新打开项目时遇到的错误是4月CTP中实现的逻辑,在此之前未填充<Capabilities>部分。因此,这是一个提示您修复WMAppManifest.xml以指定您的应用程序首次打开在March CTP下创建的项目时所使用的<Capabilities>

似乎这不适合没有使用这种功能的情况。这可能是平台团队应该关注的问题。

在10月份的更新中,发布了能力检测工具,允许您在摄取过程中执行能力检测。

How to: Use the Windows Phone Capability Detection Tool

有趣的Adam观察设备debuging依赖于ID_CAP_NETWORKING。目前还不确定这是否有意,但你可以看出它是如何发生的。