如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

栏目: 前端 · 发布时间: 6年前

相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境。在开始介绍前,给大家说明下我当 前的软硬件环境,本文所讲的内容适用于此环境。

软件环境:Windows 7 旗舰版 (x64)、VMware Workstation 10,硬件环境:Xeon CPU E3 1230 (4核)。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

简介

想要安装 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 Phone SDK 8.0 (支持模拟器调试) - stg609

在VMware中新建虚拟机

使用自定义安装,除了个别的需要根据下面图片所示进行设置外,其余 一路默认安装就可以了。

  如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

选择windows 8 x64系统

  如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

至少选择2个CPU

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

至少4G的内存

在启动虚拟机前,设置CPU的虚拟化引擎为 “Intel VT-x/EPT 或 AMD-V/RVI”,同时让CD/DVD指向Windows 8 专业版或更高版的iso文件。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

安装Windows 8 x64 Pro

  如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

检查此系统的Hyper-V是否已经安装

使用“Win +X”快捷键呼出“程序和功能”面板,选择“启用或关闭 Windows 功能”,可以看见Hyper-V平台选项为灰色,鼠标移上去显示“无法安装Hyper-V, 某个虚拟机监控程序正在运行”。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

我们先不去理会这个问题,直接进入下一步。

下载安装Windows Phone SDK 8.0

在官方下载页面下载SDK后安装,因为我下载的是iso版本,该版本貌似md5校验码有问题,所以在安装完后会提示“Visual C++ 2012 x64 Debug Runtime 无法找到元素”。不过不影响我开发Windows Phone App,也就没去细究。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

提示Hyper-V已经启用

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

根据要求重启后,完成安装

安装成功,并提示Hyper-V也安装成功,我们再看一下系统的Hyper-V选项,发现已经全部安装好了。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

运行Visual Studio

官网申请序列号

在运行Visual Studio Express 2012 For Windows Phone的时候,会要求输入序列号,这个只需要点击旁边的“在线注册”字样注册就可以收到带有序列号的邮件。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

新建第一个Windows Phone 8 App

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

选择Windows Phone App项目模板

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

选择目标系统为Windows Phone OS 8.0

  如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

选择模拟器(Emulator WVGA 512M),点击运行

使用Windows Phone模拟器运行,提示“The Windows Phone Emulator wasn't able to create the virtual machine. Generic failure”。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

下面将通过修改vmx文件来解决这个问题。

修改vmx文件

vmx是VMware的配置文件。先 关闭 当前的虚拟机,然后进入刚创建的虚拟机所对应的目录,找到“.vmx”结尾的文件,使用记事本或其它编辑器 工具 打开,在文件末加入下列语句:

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

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”,让模拟器配置网络连接。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

现在你已经可以正常运行Windows Phone 模拟器了。Cheers!

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

这个过程有点长,耐心等待一会儿

  如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

这就是刚刚创建的应用

回过头来,看一下网络连接面板,会发现多了些奇怪的连接。这些就是Hyper-V创建的虚拟交换机连接。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

如果禁用了其中的 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”。因此,该连接对于运行模拟器来说是必须的。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

其它问题

如果发些自己还是启动不了模拟器,请检查下自己的Hyper-V交换机是否已经建立。交换机配置中至少包含“Windows Phone Emulator Internal Switch”这个交换机。

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

Hyper-V 管理器

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

正常的Hyper-V 管理器

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609

正常的虚拟交换机管理器

如果没有找到这个虚拟交换机,也不用心急。通过“新建虚拟网络交换机”这个选项,输入 “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地址可在该页面内找到

      CoreInfo

       Windows Phone 模拟器的系统要求

       Windows Phone 8 模拟器疑难解答

       如何为 Windows Phone 模拟器启用 Hyper-V


以上所述就是小编给大家介绍的《如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) - stg609》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming Concurrency on the JVM

Programming Concurrency on the JVM

Venkat Subramaniam / The Pragmatic Bookshelf / 2011-6-1 / USD 35.00

Concurrency on the Java platform has evolved, from the synchronization model of JDK to software transactional memory (STM) and actor-based concurrency. This book is the first to show you all these con......一起来看看 《Programming Concurrency on the JVM》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具