如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)
相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境。在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲的内容适用于此环境。
软件环境:Windows 7 旗舰版 (x64)、VMware Workstation 10,硬件环境:Xeon CPU E3 1230 (4核)。
简介
想要安装 Windows Phone SDK 8.0,64位处理器、4G 内存、Windows 8 64位操作系统(任意版本)是必须要满足的基本条件,开发完后可以使用在微软开发者中心注册过的 Windows Phone 8手机进行调试。如果想要使用 Windows Phone 模拟器直接调试,那么CPU还必须支持二级地址转换(SLAT,Second Level Address Translation)、操作系统必须是专业版或更高的版本。
准备环境
按照上面讲的要求进行自检。
同时检查是否支持SLAT
在微软官方下载Coreinfo(地址见文末)并解压,然后用管理员身份运行命令提示符(开始菜单->所有程序->附件->命令提示符->右键“以管理员身份运行”)。
并在命令提示符中输入 “Coreinfo安装路径\Coreinfo.exe -v”。intel的处理器,显示为EPT(Extended Page Tables)。AMD处理器,显示为NPT(Nested Page Tables)或RVI(Rapid Virtualization Indexing)。如果CPU支持SLAT,那么你会看见“EPT *”的字样,否则看到的是“EPT -”。
在VMware中新建虚拟机
使用自定义安装,除了个别的需要根据下面图片所示进行设置外,其余一路默认安装就可以了。
选择windows 8 x64系统
至少选择2个CPU
至少4G的内存
在启动虚拟机前,设置CPU的虚拟化引擎为 “Intel VT-x/EPT 或 AMD-V/RVI”,同时让CD/DVD指向Windows 8 专业版或更高版的iso文件。
安装Windows 8 x64 Pro
检查此系统的Hyper-V是否已经安装
使用“Win +X”快捷键呼出“程序和功能”面板,选择“启用或关闭 Windows 功能”,可以看见Hyper-V平台选项为灰色,鼠标移上去显示“无法安装Hyper-V, 某个虚拟机监控程序正在运行”。
我们先不去理会这个问题,直接进入下一步。
下载安装Windows Phone SDK 8.0
在官方下载页面下载SDK后安装,因为我下载的是iso版本,该版本貌似md5校验码有问题,所以在安装完后会提示“Visual C++ 2012 x64 Debug Runtime 无法找到元素”。不过不影响我开发Windows Phone App,也就没去细究。
提示Hyper-V已经启用
根据要求重启后,完成安装
安装成功,并提示Hyper-V也安装成功,我们再看一下系统的Hyper-V选项,发现已经全部安装好了。
运行Visual Studio
官网申请序列号
在运行Visual Studio Express 2012 For Windows Phone的时候,会要求输入序列号,这个只需要点击旁边的“在线注册”字样注册就可以收到带有序列号的邮件。
新建第一个Windows Phone 8 App
选择Windows Phone App项目模板
选择目标系统为Windows Phone OS 8.0
选择模拟器(Emulator WVGA 512M),点击运行
使用Windows Phone模拟器运行,提示“The Windows Phone Emulator wasn't able to create the virtual machine. Generic failure”。
下面将通过修改vmx文件来解决这个问题。
修改vmx文件
vmx是VMware的配置文件。先关闭当前的虚拟机,然后进入刚创建的虚拟机所对应的目录,找到“.vmx”结尾的文件,使用记事本或其它编辑器工具打开,在文件末加入下列语句:
vmx文件
- hypervisor.cpuid.v0 = "FALSE"
- mce.enable = "TRUE"
Hyper-V会检查当前是否运行在虚拟机里,只有当不是的时候才会正常运行。hypervisor.cpuid.v0 = "FALSE" 这句话就是为了绕过这个检查。
保存后,重新打开虚拟机。这次运行项目时,会提示“Do you want to configure the emulator to connect to the Internet?”,意思就是网络连接丢失,我们选择“Yes”,让模拟器配置网络连接。
现在你已经可以正常运行Windows Phone 模拟器了。Cheers!
这个过程有点长,耐心等待一会儿
这就是刚刚创建的应用
回过头来,看一下网络连接面板,会发现多了些奇怪的连接。这些就是Hyper-V创建的虚拟交换机连接。
如果禁用了其中的 vEthernet(Internal Ethernet Port Windows Phone Emulator Internal),就会导致运行模拟器时提示“The emulator couldn't determin the host IP address, which is used to communicate with the guest virtual machine”。因此,该连接对于运行模拟器来说是必须的。
其它问题
如果发些自己还是启动不了模拟器,请检查下自己的Hyper-V交换机是否已经建立。交换机配置中至少包含“Windows Phone Emulator Internal Switch”这个交换机。
Hyper-V 管理器
正常的Hyper-V 管理器
正常的虚拟交换机管理器
如果没有找到这个虚拟交换机,也不用心急。通过“新建虚拟网络交换机”这个选项,输入“Windows Phone Emulator Internal Switch”,选择“内部”就可以自己建立一个了,效果是一样的。
快速问答
1. 为什么要x64位?
因为Hyper-V只能在64位处理器下工作
2. 为什么要支持SLAT?
因为Hyper-V需要用到它来提高虚拟地址和物理地址转换的效率。
3. 为什么要使用Hyper-V?
因为Windows Phone 8 模拟器需要运行在Hyper-V上。
4. 什么是Hype-V?
Windows 8 的虚拟化技术。
参考资源
Windows SDK 8.0 下载地址,ISO地址可在该页面内找到
如何为 Windows Phone 模拟器启用 Hyper-V
如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)的更多相关文章
- Windows Phone 8初学者开发—第2部分:安装Windows Phone SDK 8.0
原文 Windows Phone 8初学者开发—第2部分:安装Windows Phone SDK 8.0 原文地址:http://channel9.msdn.com/Series/Windows-Ph ...
- 如何在VMware中安装Linux系统
这篇文章主要讲述如何在VMware12中安装RHEL6.9Linux操作系统 步骤一: 打开VMware软件,在主页中点击创建新的虚拟机或者点击左上角文件,在列表中点击新建虚拟机,如图: 步骤二: 点 ...
- 烂泥:KVM中安装Windows Server 2008 R2系统
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在前一篇文章中,我介绍了有关在KVM中的安装Centos系统.接下来,就来介绍如何在KVM中安装Windows系统. 注意:在此我安装的是windows ...
- 如何在Raspberry Pi 3B中安装Windows 10 IoT Core
Windows 10 IoT Core简介 Windows 10 IoT是微软专门为物联网生态打造的操作系统,Windows 10 IoT Core则是Windows 10 IoT 操作系统的核心版本 ...
- 【转】如何在vmware中如何设置ip
如何在vmware中如何设置ip 1.修改网络接口选hostonly2.虚拟机里安装vmware-tool,对鼠标和图形进行更好地支持.如果你在图形界面下,首先要切换到文本模式.右键点击桌面,打开一个 ...
- 如何在VPC中安装Ubuntu
在虚拟机 VPC2007 中安装Ubuntu 方法A:(断网络连接) 1.用载入ISO镜像启动一台标准的 xp设置的虚拟机 2.按 F4 选择启动模式,选择图形模式并确认. 3.按 F6 在启动配置中 ...
- VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装
VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装在阿里云开源镜像地址下载镜像Index of /centos/7.2.1511/isos/x86_64/http://mirro ...
- 如何在eclipse中安装Jess
如何在eclipse中安装Jess 浏览:49 | 更新:2014-05-12 16:39 这个文章帮了不少忙,感谢! 但经我实践,还要把插件那些文件向/dropins/sdk下也放一份,才能成功. ...
- Windows10系统在VMware中安装CentOS7操作系统并实现图形化用户界面Gnome
由于操作系统课程需要,我尝试在windows10环境下安装linux虚拟机,最终采用centOS7和Gnome图形用户界面,在安装和使用过程中出现一些问题,在这里将其记录下来,以便后续查阅. 第一部分 ...
随机推荐
- CSS HTML元素布局及Display属性
本篇文章主要介绍HTML的内联元素.块级元素的分类与布局,以及dispaly属性对布局的影响. 目录 1. HTML 元素分类:介绍内联元素.块级元素的分类. 2. HTML 元素布局:介绍内联元素. ...
- ASP.NET MVC开发:Web项目开发必备知识点
最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...
- UWP简单示例(三):快速开发2D游戏引擎
准备 IDE:VisualStudio 2015 Language:VB.NET/C# 图形API:Win2D MSDN教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面 ...
- spring maven pom.xml设置
spring pom.xml设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...
- JDBC增加删除修改
一.配置程序--让我们程序能找到数据库的驱动jar包 1.把.jar文件复制到项目中去,整合的时候方便. 2.在eclipse项目右击"构建路径"--"配置构建路径&qu ...
- GOF23设计模式之单例模式
·核心作用: -保证一个类只有一个实例,并且提供一个访问该实例的全局访问点. ·常见应用场景: -Windows的Task Manager(任务管理器)就是很典型的单例模式 -Windows的Recy ...
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- git 命令总结
1 删除分支 git push origin :branch name(Task_******) //删除远程分支 git branch -D branch name(Task_******) ...
- SpringMvc中初始化参数绑定
初始化参数绑定与类型转换很类似,初始化绑定时,主要是参数类型 ---单日期 在处理器类中配置绑定方法 使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型 proper ...
- TypeScript
TypeScript: Angular 2 的秘密武器(译) 本文整理自Dan Wahlin在ng-conf上的talk.原视频地址: https://www.youtube.com/watch? ...