如何部署和运行 Windows Phone 8 的应用

如题所述

关于在 Windows Phone 模拟器中调试和运行应用

当您首次在 Windows Phone 模拟器中运行 Windows Phone 应用时,将发生以下事件:
模拟器将会启动。
模拟器将加载 Windows Phone 操作系统。
模拟器将显示 Windows Phone“开始”屏幕。
将您的应用部署到模拟器。
您的应用将在模拟器上运行。
如果选定的 Windows Phone 模拟器已在运行,则您的应用将在正运行的模拟器中部署和启动。每个模拟器一次只能运行一个实例。

提示:

当在模拟器上测试您的应用时,请在调试会话之间将模拟器保持为打开状态,以便您可以重新快速运行您的应用。

关于在 Windows Phone 设备上部署和运行应用

将应用部署到 Windows Phone 设备之前,您需要先满足以下先决条件:
您必须是注册的开发人员。有关注册成为开发人员的信息,请参见注册信息。
必须注册手机。有关更多信息,请参见如何注册您的手机以进行开发。
必须将手机通过 USB 电缆连接到主机、打开并且解锁屏幕。
若要在 Windows Phone 8 设备上测试应用,需要符合以下条件:
USB 传输服务上的 Windows Phone IP 必须处于运行状态。当您安装 Windows Phone SDK 8.0 时,即安装并启动了该服务。
计算机必须可以识别已连接的设备。Windows Phone 8 手机作为驱动器列在文件资源管理器中。
若要在 Windows Phone OS 7.1 设备上测试应用,需要符合以下条件:
主机上必须安装 Zune 软件。若要下载和安装 Zune 软件,请转到 Zune 软件下载页面。
必须运行 Zune 软件。当您将手机连接到主机时,Zune 将自动启动。若 Zune 未启动,请手动将其启动。
Zune 软件必须可以识别已连接的设备。
若要获取关于应用部署的疑难解答,请参见本主题中的应用部署到手机的疑难解答部分。
您可以在注册的设备上部署最多 10 个应用。此限制不适用于从 商店 安装的应用。
如果您有面向 Windows Phone OS 7.1 的现有应用,我们建议您在 Windows Phone 8 设备上测试它们,以确保兼容性。有关可能的问题的详细信息,请参见 Windows Phone 8 的应用平台兼容性。

在 Visual Studio 中部署和运行应用

在 Visual Studio 中部署和运行应用的步骤
如果您正在将您的应用部署到已连接设备,请确保您已完成之前在本主题中列出的先决条件。
在 Visual Studio 中,打开一个 Windows Phone 项目。
在“标准”工具栏上,选择一个目标。

若要将您的应用部署到模拟器,请选择一个模拟器选项。
若要将您的应用部署到已连接设备,请选择“设备”选项。
若要进行调试再部署和运行您的应用,则在“调试”菜单上单击“开始调试”或按 F5。
若要不进行调试而直接部署和运行您的应用,则在“调试”菜单上单击“开始执行(不调试)”,或按 Ctrl+F5。
已部署并启动您的应用。
若要不运行而直接部署您的应用,则在“生成”菜单上单击“部署解决方案”。
停止运行的应用的步骤
若要停止运行的应用,请执行以下操作之一:
应用将退出并出现“开始”屏幕。此操作将结束当前调试会话。
在 Visual Studio 的“调试”菜单上,单击“停止调试”或按 Shift+F5。
在模拟器中或在手机上,按“后退”按钮以退出应用。如果应用的活动页面不是应用的开始页面,您可能需要多次按“后退”按钮。
不进行调试而直接重新启动应用的步骤
在模拟器中或在手机上,在“开始”屏幕上向左滑动以查看应用列表。
在应用列表中,点击应用图标。应用将重新启动(不进行调试)。
停用运行的应用的步骤
运行您的应用之前,在 Visual Studio 中右击“解决方案资源管理器”中的项目,然后选择“属性”以打开“项目设计器”。
如果您要在停用应用时使其进入休眠状态,请在“项目设计器”的“调试”页面上将“在调试期间停用时逻辑删除”复选框保持为未选中。如果您要在停用应用时将其逻辑删除,请选中该复选框。
在“调试”菜单中,单击“开始调试”或按 F5 以运行该应用。
在模拟器中或在手机上,按“开始”按钮。将显示“开始”屏幕并停用应用。应用将进入休眠状态或被逻辑删除,具体取决于“在调试期间停用时逻辑删除”复选框的设置。
重新激活处于休眠状态或被逻辑删除的应用的步骤
在模拟器中或在手机上,按“后退”按钮以返回到应用。如果您已导航至其他页面或已打开其他应用,您可能需要多次按“后退”按钮才能重新激活该应用。
调试会话将会恢复。如果调试器已从应用分离,您可能需要按 F5 以恢复调试会话。有关调试和重新激活的更多信息,请参阅如何测试 Windows Phone 的应用状态更改。

使用应用程序部署工具部署应用

您还可以使用 Windows Phone 应用程序部署工具 (XapDeploy.exe) 部署您的应用。此工具是安装 Windows Phone SDK 时安装的独立应用。
您可以使用安装在文件夹 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Tools\XAP Deployment 中的应用程序部署工具的版本来部署面向 Windows Phone OS 8.0 或 Windows Phone OS 7.1 的应用。
您仅可以使用安装在文件夹 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\XAP Deployment 中的应用程序部署工具的版本来部署面向 Windows Phone OS 7.1 的应用。
使用应用程序部署工具部署应用的步骤
生成您的应用。有关详细信息,请参见如何生成 Windows Phone 8 的应用。
如果您正在将您的应用部署到已连接设备,请确保您已完成之前在本主题中列出的先决条件。
从 Windows“开始”屏幕,启动应用程序部署工具。可以通过打开“所有应用”视图并在 Windows Phone SDK 8.0 组中进行查找,或者通过从“开始”屏幕键入应用程序部署进行搜索来找到应用程序部署工具。
您也可以从以下位置运行该工具:
C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Tools\XAP Deployment\XapDeploy.exe
将启动应用程序部署工具,如下所示。

在“目标”下拉框中,选择“设备”或其中一个模拟器选项。
单击“浏览”并查找您要部署的 XAP 文件。
单击“部署”。
如果部署成功,则“状态”字段会显示“XAP 部署完成”。

在命令提示符下部署应用

您也可以使用应用程序部署工具的命令行版本 XapDeployCmd.exe 部署应用。您可以通过调用此工具从脚本或从自定义应用部署应用。
XapDeployCmd.exe 安装在文件夹 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Tools\XAP Deployment 中。
XapDeployCmd.exe 未提供用于不运行而直接部署新应用的选项。

重要说明:

Windows Phone 项目的命令行部署需要 Visual Studio 2012 Update 2。XapDeployCmd.exe 未包含在由 Windows Phone SDK 8.0 安装的 Visual Studio 2012 版本中。

在命令提示符下部署应用的步骤
生成您的应用。有关详细信息,请参见如何生成 Windows Phone 8 的应用。
如果您正在将您的应用部署到已连接设备,请确保您已完成之前在本主题中列出的先决条件。
打开命令提示符窗口。如果您的 PATH 环境变量未包含指向 XapDeployCmd.exe 的路径,请导航到文件夹C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Tools\XAP Deployment。
使用以下选项之一运行 XapDeployCmd.exe。
若要将您的应用部署到模拟器,请使用 xd 选项。
若要将您的应用部署到已连接设备,请使用 de 选项。
命令行部署语法和选项
XapDeployCmd.exe 具有以下语法:
XapDeployCmd.exe <cmd[:param]> <Product ID/Xap FileName> <targetdevice[:param]>
下表介绍了用于 XapDeployCmd.exe 的命令行选项。

选项

描述

<cmd[:param]>

指定要运行的命令。此选项具有以下值之一:
选项描述
/installlaunch在设备上安装并运行应用。此选项需要 Xap FileName 参数。
/update更新已安装在设备上的应用。此选项需要 Xap FileName 参数。
/launch启动已安装在设备上的应用。此选项需要 Product ID 参数。
/uninstall从设备卸载应用。此选项需要 Product ID 参数。
/EnumerateDevices为每种设备列出有效的设备目标和数字索引。

<Product ID>

指定应用的 GUID。可以在项目的应用清单文件 WMAppManifest.xml 中找到此值。

<Xap FileName>

指定要安装或更新的 XAP 的完整路径。

</targetdevice[:param]>

指定目标设备。此选项具有以下值之一:
值描述
xd默认模拟器。
de已连接到开发计算机的 Windows Phone 设备。
n位于设备列表的索引 n 处的设备。若要获取设备列表,请运行XapDeployCmd.exe /EnumerateDevices。

命令行部署示例
下面是命令行部署的一些示例。以下示例假定 Product ID 为 f8ce6878-0aeb-497f-bcf4-65be961d4bba 且 Xap FileName 为 D:\PhoneApp1.xap。
XapDeployCmd.exe /installlaunch D:\PhoneApp1.xap /targetdevice:xd
在默认模拟器上安装 PhoneApp1,然后启动它。
XapDeployCmd.exe /launch f8ce6878-0aeb-497f-bcf4-65be961d4bba /targetdevice:de
在已连接设备上启动具有指定 Product ID 的应用。
XapDeployCmd.exe /update D:\PhoneApp1.xap /targetdevice:2
更新已在由设备索引 2 指定的设备上安装的 PhoneApp1。若要获取有效设备的列表,请使用/EnumerateDevices 选项。
XapDeployCmd.exe /uninstall f8ce6878-0aeb-497f-bcf4-65be961d4bba /targetdevice:xd
从默认模拟器卸载具有指定 Product ID 的应用。
XapDeployCmd.exe /EnumerateDevices
为每种设备枚举有效的设备目标和数字索引的列表。

应用部署到手机的疑难解答

将应用部署到 Windows Phone 8 手机取决于本地服务 USB 传输上的 Windows Phone IP (IpOverUsbSvc)。它还取决于手机是否作为 USB 设备正确的安装在开发计算机上。
通过检查 IpOverUsbSvc 服务排除连接问题
使用 USB 电缆将手机连接到开发计算机,打开手机,然后解锁手机屏幕。
打开“命令提示符”窗口,然后运行 IpOverUsbEnum 命令行工具。您可以在以下文件夹中找到此工具:
C:\Program Files (x86)\Common Files\Microsoft Shared\Phone Tools\CoreCon\11.0\Bin
检查该工具的输出。
手机是否通过 USB 电缆和开发计算机连接?
手机是否处于打开状态?
手机的屏幕是否已解锁?
在文件资源管理器中,手机是否在“计算机”下面显示为驱动器?
如果您看到几行有关手机及其上面运行的服务的信息,部署问题可能和 IpOverUsb 服务无关。
如果您看到消息 RPC Server Unavailable. Is the proxy running?,这表明 IpOverUsb 服务没有运行。打开“服务”管理单元,然后启动 USB 传输上的 Windows Phone IP (IpOverUsbSvc) 服务。
如果您看到消息 No connected partners found,请检查以下事项:
通过更新驱动程序解决连接问题的步骤
使用 USB 电缆将手机连接到开发计算机,然后解锁手机屏幕。
打开“设备管理器”。在“便携式设备”下,查找手机条目。
右击手机条目,然后选择“更新驱动程序软件”。按照步骤更新驱动程序。

开发环境和发布环境之间的重要差异

网络连接功能
当您将应用从 Visual Studio 部署到模拟器或手机时,将自动包含连接网络功能。但是,如果您的应用需要连接网络,则在向 商店 提交应用时,您仍然需要在应用的清单文件中显式指定该功能。如果您没有指定网络连接功能,则应用在用户手机上进行安装时将失败。有关更多信息,请参见 Windows Phone 8 应用功能和硬件要求。
写入应用的安装目录
当您将应用从 Visual Studio 部署到模拟器或手机时,应用可以写入其安装目录。但是通过 商店 部署和发布的应用无法写入到其安装目录。如果从 商店 安装的应用尝试写入到它的安装目录,将引发异常。当您开发并测试应用时,如果您将代码包含在您的应用中,而且该应用会写入它的安装文件夹,请确保在您将您的应用发布到 商店 之前删除此功能。
测试 Windows Phone OS 7.1 媒体 API
当您在已连接的设备上测试面向 Windows Phone OS 7.1 的应用时,通常会运行 Zune 软件。但是,当 Zune 软件运行时,您无法测试与媒体 API 交互的应用,因为 Zune 软件锁定了本地媒体数据库。若要测试面向 Windows Phone OS 7.1 的应用并使用媒体 API,您可以使用 Windows Phone 连接工具在不运行 Zune 软件的情况下,与设备建立串行或 USB 连接。有关更多信息,请参阅如何测试在 Windows Phone 中使用照片选择器或相机捕获任务的应用。
温馨提示:答案为网友推荐,仅供参考
相似回答