设为首页 收藏本站
查看: 1532|回复: 0

Windows Phone 8初学者开发—第8部分:理解编译和部署

[复制链接]

尚未签到

发表于 2015-5-23 07:39:34 | 显示全部楼层 |阅读模式
第8部分:理解编译和部署
  原文地址:
  http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-8-Understanding-Compilation-and-Deployment
  系列地址: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应用商店进行审核、下载或销售。
  因此我们本课的计划是:

  • 我希望我们能够看到当编译应用程序时会发生什么,Visual Studio创建了什么?结果是我们可以学会一些有关部署过程的内容。
  • 我想部署到一个实际的物理手机设备,以查看PetSounds应用程序运行在一个实际的手机上。
1.在编译和部署期间会发生什么
  每次当您按键盘上的F5键或工具栏上的运行按钮以运行应用程序时,Visual Studio都会创建应用程序的调试版本。如果您回想一下C#基础系列,它将创建一个Bin\Debug文件夹以存放.NET程序集和任何运行应用程序所需的其他文件。这就是PetSounds应用程序的Bin\Debug文件夹:
DSC0000.png
  在这里有.NET程序集PetSounds.dll,一个可以忽略的文件PetSounds.pdb(它用于Visual Studio调试器和应用程序运行版本之间的协调)。还有一些文件夹与Visual Studio项目中的文件夹相匹配,比如Assets文件夹,用于存放AppResources.resx西班牙语版本的es文件夹以及Properties文件夹。接着还有一个AppManifest文件和一个PetSounds_Debug_AnyCPU.xap文件。
  这个.xap文件很大(6MB)。我碰巧知道这个文件后缀表示它是一个部署包。它是一个包含所有文件和配置的文件,被用于将应用程序部署到Windows Phone 8操作系统。
  让我们再次找点乐子!我将该文件拷贝到桌面,右键单击文件并选择复制。
DSC0001.png
  我右键单击桌面并选择复制。
  一旦文件出现在我的桌面上,我右键单击它并选择重命名。
DSC0002.png
  我将文件后缀名从.xap更改为.zip。Windows提示我可能会损坏文件:
DSC0003.png
  这是只是一个拷贝,并且Visual Studio在每次部署时都会创建一个新的.xap,所以我选择对话框中的是选项。
  现在文件看起来和我机器上的其他.zip文件一样。
DSC0004.png
  如果在Windows资源管理器中选择文件,即使我没有选择提取,我也可以看到其中的内容:
DSC0005.png
  原来这个.xap文件实际上是一个.zip文件,它本质上包含我们在项目的\Bin\Debug文件夹下看到的文件。进入/Assets子文件夹:
DSC0006.png
  最终进入/Audio和/Animals文件夹,在这里我看到了在前几节课上我们拷贝到项目中的.wav文件
  让我们回到.zip文件的根目录,我想查看AppManifest.xaml和WMAppManifest.xml文件中的内容,我右键单击WMAppManifest.xml文件:
DSC0007.png
  您可能被询问在Windows 8中用哪个应用程序打开这个文件。选择记事本。
DSC0008.png
  在记事本中您可以看到WMAppManifest.xml的原始内容。它是XML格式,并且内容很多。在Visual Studio中该文件的复杂性通过一个友好的“设计器”被隐藏起来。Visual Studio中的一个页面限制了我们可以对该文件进行的更改。
DSC0009.png
  真正的问题是:“这个文件存在的目的是什么?”
  WMAppManifest.xml的目的是将您的应用程序介绍给手机。它告诉手机使用哪个图像作为开始屏幕和应用页面的磁贴。它告诉手机我们希望使用哪些功能和我们可以支持哪些语言。它告诉手机应用的名称是什么,应用程序是哪一个版本,我们支持哪些屏幕分辨率等内容。它负责把我们的应用程序集成到Windows 8操作系统和应用程序的生态系统。
2. 部署到一部物理手机
  本课我想做的最后一件事是将应用程序部署到我的Lumia 920。本课的其余部分假设您已经有一个Windows Phone开发中心的会员。每年的费用是99美元。
  首先,我用手机附带的USB线把电话插进我的电脑。我之前为了传输音乐或为手机充电已经多次这样做过,但是从来没有为了部署一个应用程序而这样做。
  在Visual Studio中,我使用运行按钮旁的向下箭头将设置从在模拟器中调试更改为在设备中调试。
DSC00010.png
  接着,我单击工具栏上面的运行按钮,但是会出现一个错误:
   DSC00011.png
  
  (未能连接到设备,因为它已由开发人员锁定。有关开发人员解锁的详细信息,请访问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):
DSC00012.png
  并输入”Regi”
DSC00013.png
  这足以找到Windows Phone开发人员注册应用程序:
DSC00014.png
  运行该应用程序。它将带您返回桌面并显示以下对话框,正如您所看到的,它试图确定您手机的状态,但是锁屏界面是锁住的。
DSC00015.png
  我将锁屏界面解锁并单击重试按钮。
DSC00016.png
  我单击注册按钮,它让我登录到我的微软账户。
DSC00017.png
  请注意,由于某些原因,它总是要求我登录两次。如果您遇到类似的行为,请不要慌张。您通常可以在第二次尝试时进入。
  稍等片刻,我将收到一个确认:手机被成功解锁以用于开发。
DSC00018.png
  我可以通过登录以下网址进行确认:
  http://dev.windowsphone.com
DSC00019.png

  • 我导航至仪表板
  • 账户
  • 手机
  我刚注册的手机在这里正确显示。
  您将注意到手机的名称:” Bob Tabor’s Phone”,我曾在Windows资源管理器中通过右键单击手机并选择“重命名”更改过手机名称。这将允许我测试多个电话并将它们区分开来。
  现在我已经注册完手机,我应该可以将应用部署到手机上了。
DSC00020.png
  但是
DSC00021.png
  (未能连接到设备,因为它被密码锁定。)
  我必须解锁设备的锁屏界面并再次测试:
  在克服所有困难后,我终于看到PetSounds应用程序在我手机上运行了。
DSC00022.png
  我不仅能够看到它而且它能够正常工作。我可以用鸭子的嘎嘎声去打搅我的小孩和宠物了!
  为了退出调试,可以使用Visual Studio工具栏上的停止按钮。
DSC00023.png
  即使我停止设备上的应用程序的调试,应用程序还在设备上,即使我从计算机上拔下设备,我仍然可以运行它。每次进行调试,与使用模拟器时一样,它将会把应用程序的最新版本部署至物理设备。
  在继续之前,您可能会看到如下的消息:
DSC00024.png
  (不能安装应用程序。本手机已达到开发人员应用程序的最大数量。请卸载应用程序并重试。)
  显然,您可以部署到手机上的应用程序有数量的限制。这个数量限制为10。如果出现这种情况,您可以卸载一个或多个开发者应用程序,方式和您卸载普通应用程序相同,即按住磁贴并选择卸载。
  假设由于某种原因您需要注销用于开发的手机,您可以重新运行Windows Phone开发者注册工具,它将识别出手机被解锁用于开发并提供一个选项以注销手机:
DSC00025.png
  (状态:被识别的Windows Phone 8设备。本设备当前被解锁用于开发。单击注销按钮以锁定手机。)
3. 成为Windows Phone开发中心的成员
  最后,正如我较早前提到的,在注册手机用于开发并部署应用到手机以进行测试前,或随后在市场销售您的应用程序,您需要成为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
DSC00026.png
回顾
  综上所述,本课的重点是部署包的组成,WMAppManifest.xml文件的目的,部署到物理手机设备以便在Visual Studio中进行调试。我们讨论了注册您的物理设备并对其进行解锁以将开发者应用程序发布到该设备上,以及如何获取一个Windows Phone开发中心的账号。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-69673-1-1.html 上篇帖子: 重新想象 Windows 8 Store Apps (23) 下篇帖子: 重新想象 Windows 8 Store Apps (26)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表