Well, not necessarily. There are a couple of options. First, you can use remote debugging. Second, you can easily install the free version of the IDE on the target machine. Third, you can use command line tools to compile (the stuff in the bin directory - you don't really NEED the IDE to compile/link). I know that remote debugging is sort of a pain, but it's effective once you set it up. Also, it's generally simple to set up visual studio express on any machine. I know the problem, because my most recent job was developing software that ran on VMs... I did the development on my desktop, but then would run on the VM. Most commonly, I'd just set up express on the VM. Though, I wish I was more familiar with the remote debugging client, because it's probably the 'right' way to do it.