Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Windows Phone 7 Development in a Virtual Machine

DZone's Guide to

Windows Phone 7 Development in a Virtual Machine

·
Free Resource
I have done a small amount of development for the up and coming Window Phone 7 and I am excited about the new platform as are quite a few other people.  I also do all of my .NET development on my MacBook Pro running Windows 7 in a virtual machine.  I'll not touch on the massive benefits of having your development environment in a virtual machine, but there are many.  I have heard several people comment that they cannot do Windows Phone 7 development in a virtual machine because they can't run the emulator on a virtual machine.  The comment is always because the emulator is a virtual machine itself and you cannot run a virtual machine inside a virtual machine.

I do it all the time.  On my Mac.

I am running the latest version of both OSX and VMWare fusion and I have no trouble with the Windows Phone 7 development tools or the emulator.  Everyone I have talked to trying to run virtual machines on Windows were using Virtual PC and one person I know tried it with Parallels on the Mac.  I don't know of anyone doing it with VMWare on the PC so please comment if you have it working with VMWare.  Just to prove I have this working, here is a screenshot of a running Windows Phone 7 app in the emulator in a virtual machine on my Mac:



The fonts are a little choppy, but here it is:  Windows Phone 7 Development in a Virtual Machine with VMWare Fusion on my MacBook Pro.  

I know a lot of .NET developers that have moved to MacBook Pros for their development and they work in virtual machines as well and I don't know a single one that would ever go back.  If you want to do Windows Phone 7 Development in a virtual machine, you might need to get a Mac.  I love mine!
Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}