Before you can build, you need a foundation. Subsequent chapters in this book assume that you will be developing on a stand-alone SharePoint server with Visual Studio and that your developer tools are installed on the same machine. You can build that environment in a virtual machine with the steps described in this chapter.
However, for "real-world" development, experience has shown that keeping your development tools off of the server is a good practice. Depending upon your situation, it may not always be the best practice, and it does require remote debugging so that it is also not the "easiest practice." But this configuration brings both discipline and the benefits of loose coupling to SharePoint development. By interacting with the server as a SharePoint user would, you avoid all the inconsistencies that come with running browser sessions on locked-down web servers, you don't fill your server's GAC with quite as much junk, and you develop better development habits.
Read each section once through to understand what to watch for before building the environment. This is especially true when building the server. The local machine is also called the host, and the virtual machine (VM) that contains the server is also called the guest. Like a hotel, a host can have many guests.
The two main factors determining the speed of your SharePoint development environment are RAM and hard drive speed. If you do a lot of development, ...