原文地址:html
系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners框架
Source Code: http://aka.ms/absbeginnerdevwp8 工具
PDF Version: http://aka.ms/absbeginnerdevwp8pdf测试
若是您回想一下C#基础系列(C# Fundamentals series),C#编译器编译项目中的代码以建立一个.Net程序集。最终结果一般(至少在简单的控制台应用程序的状况下)是一个后缀名为".exe"可执行文件。虽然在Visual Studio中咱们均与应用程序的调试版本打交道,经过将解决方案配置更改成发布(Release),只要用户计算机上安装了相同版本的.Net框架运行时,咱们就能够建立适合发布到另外一个用户计算机上的应用程序版本。操作系统
在本课中,我将讨论如何将咱们构建的应用程序部署到运行Windows Phone 8操做系统的物理设备上。到目前为止,咱们仅将应用程序部署到手机模拟器上。编译和部署步骤对咱们来讲是自动化的,咱们并不知道程序如何被打包并安装到模拟器上。咱们须要理解应用程序被打包的方法,由于无疑咱们须要将应用程序部署到物理的手机设备上以进行测试,而且咱们须要将应用程序打包以即可以将它们提交至Windows应用商店进行审核、下载或销售。设计
所以咱们本课的计划是:3d
每次当您按键盘上的F5键或工具栏上的运行按钮以运行应用程序时,Visual Studio都会建立应用程序的调试版本。若是您回想一下C#基础系列,它将建立一个Bin\Debug文件夹以存放.NET程序集和任何运行应用程序所需的其余文件。这就是PetSounds应用程序的Bin\Debug文件夹:调试
在这里有.NET程序集PetSounds.dll,一个能够忽略的文件PetSounds.pdb(它用于Visual Studio调试器和应用程序运行版本之间的协调)。还有一些文件夹与Visual Studio项目中的文件夹相匹配,好比Assets文件夹,用于存放AppResources.resx西班牙语版本的es文件夹以及Properties文件夹。接着还有一个AppManifest文件和一个PetSounds_Debug_AnyCPU.xap文件。xml
这个.xap文件很大(6MB)。我碰巧知道这个文件后缀表示它是一个部署包。它是一个包含全部文件和配置的文件,被用于将应用程序部署到Windows Phone 8操做系统。
让咱们再次找点乐子!我将该文件拷贝到桌面,右键单击文件并选择复制。
我右键单击桌面并选择复制。
一旦文件出如今个人桌面上,我右键单击它并选择重命名。
我将文件后缀名从.xap更改成.zip。Windows提示我可能会损坏文件:
这是只是一个拷贝,而且Visual Studio在每次部署时都会建立一个新的.xap,因此我选择对话框中的是选项。
如今文件看起来和我机器上的其余.zip文件同样。
若是在Windows资源管理器中选择文件,即便我没有选择提取,我也能够看到其中的内容:
原来这个.xap文件其实是一个.zip文件,它本质上包含咱们在项目的\Bin\Debug文件夹下看到的文件。进入/Assets子文件夹:
最终进入/Audio和/Animals文件夹,在这里我看到了在前几节课上咱们拷贝到项目中的.wav文件
让咱们回到.zip文件的根目录,我想查看AppManifest.xaml和WMAppManifest.xml文件中的内容,我右键单击WMAppManifest.xml文件:
您可能被询问在Windows 8中用哪一个应用程序打开这个文件。选择记事本。
在记事本中您能够看到WMAppManifest.xml的原始内容。它是XML格式,而且内容不少。在Visual Studio中该文件的复杂性经过一个友好的“设计器”被隐藏起来。Visual Studio中的一个页面限制了咱们能够对该文件进行的更改。
真正的问题是:“这个文件存在的目的是什么?”
WMAppManifest.xml的目的是将您的应用程序介绍给手机。它告诉手机使用哪一个图像做为开始屏幕和应用页面的磁贴。它告诉手机咱们但愿使用哪些功能和咱们能够支持哪些语言。它告诉手机应用的名称是什么,应用程序是哪个版本,咱们支持哪些屏幕分辨率等内容。它负责把咱们的应用程序集成到Windows 8操做系统和应用程序的生态系统。
本课我想作的最后一件事是将应用程序部署到个人Lumia 920。本课的其他部分假设您已经有一个Windows Phone开发中心的会员。每一年的费用是99美圆。
首先,我用手机附带的USB线把电话插进个人电脑。我以前为了传输音乐或为手机充电已经屡次这样作过,可是历来没有为了部署一个应用程序而这样作。
在Visual Studio中,我使用运行按钮旁的向下箭头将设置从在模拟器中调试更改成在设备中调试。
接着,我单击工具栏上面的运行按钮,可是会出现一个错误:
(未能链接到设备,由于它已由开发人员锁定。有关开发人员解锁的详细信息,请访问http://go.microsoft.com/fwlink/?LinkId=195284。)
所以,我须要作的第一件事是解锁手机以用于开发。使用如下链接以获取更多信息:
http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff769508(v=vs.105).aspx
我将搜索Windows Phone开发人员注册应用程序(Windows Phone Developer Registration),它随Windows Phone 8 API一块儿安装在个人电脑上。
在Windows 8中,转到搜索超级按钮(Search charm):
并输入”Regi”
这足以找到Windows Phone开发人员注册应用程序:
运行该应用程序。它将带您返回桌面并显示如下对话框,正如您所看到的,它试图肯定您手机的状态,可是锁屏界面是锁住的。
我将锁屏界面解锁并单击重试按钮。
我单击注册按钮,它让我登陆到个人微软帐户。
请注意,因为某些缘由,它老是要求我登陆两次。若是您遇到相似的行为,请不要慌张。您一般能够在第二次尝试时进入。
稍等片刻,我将收到一个确认:手机被成功解锁以用于开发。
我能够经过登陆如下网址进行确认:
我刚注册的手机在这里正确显示。
您将注意到手机的名称:” Bob Tabor’s Phone”,我曾在Windows资源管理器中经过右键单击手机并选择“重命名”更改过手机名称。这将容许我测试多个电话并将它们区分开来。
如今我已经注册完手机,我应该能够将应用部署到手机上了。
可是
(未能链接到设备,由于它被密码锁定。)
我必须解锁设备的锁屏界面并再次测试:
在克服全部困难后,我终于看到PetSounds应用程序在我手机上运行了。
我不只可以看到它并且它可以正常工做。我能够用鸭子的嘎嘎声去打搅个人小孩和宠物了!
为了退出调试,可使用Visual Studio工具栏上的中止按钮。
即便我中止设备上的应用程序的调试,应用程序还在设备上,即便我从计算机上拔下设备,我仍然能够运行它。每次进行调试,与使用模拟器时同样,它将会把应用程序的最新版本部署至物理设备。
在继续以前,您可能会看到以下的消息:
(不能安装应用程序。本手机已达到开发人员应用程序的最大数量。请卸载应用程序并重试。)
显然,您能够部署到手机上的应用程序有数量的限制。这个数量限制为10。若是出现这种状况,您能够卸载一个或多个开发者应用程序,方式和您卸载普通应用程序相同,即按住磁贴并选择卸载。
假设因为某种缘由您须要注销用于开发的手机,您能够从新运行Windows Phone开发者注册工具,它将识别出手机被解锁用于开发并提供一个选项以注销手机:
(状态:被识别的Windows Phone 8设备。本设备当前被解锁用于开发。单击注销按钮以锁定手机。)
最后,正如我较早前提到的,在注册手机用于开发并部署应用到手机以进行测试前,或随后在市场销售您的应用程序,您须要成为Windows Phone开发中心的会员。若是您直接从微软购买,每一年的费用是99美圆。
然而还有第二个选项。诺基亚有一个针对Lumia系列的高级开发者计划,它不只提供一个Windows Phone开发中心的会员资格,还能提供Telerik公司的Rad Controls for Windows Phone(一组针对Windows Phone开发的控件),Buddy.com的会员和当您在开发或部署应用程序过程当中遇到问题时可使用的两个诺基亚技术支持。我参与了这个计划而且它工做良好。
http://www.developer.nokia.com/Developer_Programs/Lumia_developer_program.xhtml
综上所述,本课的重点是部署包的组成,WMAppManifest.xml文件的目的,部署到物理手机设备以便在Visual Studio中进行调试。咱们讨论了注册您的物理设备并对其进行解锁以将开发者应用程序发布到该设备上,以及如何获取一个Windows Phone开发中心的帐号。