Building a SharePoint 2010 Development Environment

Tags: Development, Hyper-V, SharePoint 2010, Virtualization

One of the most common questions asked of me in my SharePoint developer classes is “How do I create a development environment for SharePoint 2010?” The goal of this post is to answer this question.

Let me start of by pointing out that the most common development environment for SharePoint 2010 that I’ve come across is simply a 64-bit virtual machine with the following software components installed on it. This can be done in Hyper-V or VMWare, depending on your own preference.

  1. Windows Server 2008 R2

    1. It is possible to install the SharePoint Foundation 2010 on Windows 7 or Windows Vista, but this is not the most common setup for a SharePoint 2010 development environment that I’ve seen and is therefore not the focus of this post.

    2. Internet Information Services (IIS)

    3. NOT a domain controller (DC). SharePoint 2010 does not play nice if it’s installed on a server that is also a DC. Besides, you’d never have things setup like that in production, right?

  2. SQL Server 2008 R2

    1. You can install SQL Server Express for the SharePoint Foundation 2010, but again, that’s not the most common way that we see this done. Also, there are distinct limitations when you are using SQL Server Express. From Microsoft: “SQL Server Express supports 1 physical processor, 1 GB memory, and 4 GB storage.”

  3. Software Prerequisites for SharePoint 2010

    1. Not much to note about these other than “gotta have ‘em.”

  4. SharePoint 2010

    1. This can be the SharePoint Foundation, SharePoint Server Standard, or SharePoint Server Enterprise. You would, of course, want the same edition of SharePoint 2010 that your company actually uses in production. Since most implementations of SharePoint that I’ve seen are for corporations, let’s assume throughout the rest of this post that we’re working with the SharePoint Server Enterprise edition. If you’re not sure which edition your organization uses, you should contact your IT department in an effort to find out. Otherwise, you can view the editions of SharePoint 2010 on Microsoft’s web site.

  5. Visual Studio 2010

    1. While you can use Visual Studio 2005 or 2008 to develop custom solutions for your SharePoint 2010 implementation, it’s highly recommended to use Visual Studio 2010 if you have it available. Simply put, Visual Studio 2010 has features built directly into it for development on the SharePoint 2010 platform that put Visual Studio 2005 and 2008 to shame. To get a better idea of how Visual Studio 2010 can be used to develop solutions for SharePoint 2010, here’s an excellent video on Channel 9 led by SharePoint MVP Ted Pattison.

While those are the core software components that allow us to start developing solutions for SharePoint 2010, I want to list a few others that will probably come in handy. These are optional components.

  1. SharePoint Designer 2010

    1. If you are ever going to work with custom branding (master pages, css, etc), then you will need SharePoint Designer 2010. Trust me. Besides, it’s free!

  2. SharePoint Software Development Kit (SDK)

In addition, here are a couple of other online resources that I’ve personally found useful. I always ensure that my virtual machines can access the host’s NIC for Internet access if possible, and these sites have proven handy time and time again.

  1. W3Schools

    1. This is a very useful web site for most, if not all, web-based development languages. Since SharePoint 2010 is a web-based application, you cannot deny that knowing all there is to know about web-based languages is helpful.

  2. SharePoint 2010 on CodePlex

  3. PowerShell Script Center

    1. What’s that? You say you’ve never used PowerShell? Well, you will and this link is going to come in quite handy.

The nice thing about a virtual machine is just that…it’s virtual and thereby quite portable. One of my favorite features of a virtual machine is the ability to take a snapshot of it. Also, if your laptop/desktop supports hardware virtualization, you can configure your system to allow you to boot directly into your virtual machine! Read Chad Solarz’s boot to .vhd script for further details.

If you want a more step-by-step approach to building a virtual machine for SharePoint 2010 development, you should visit Critical Path Training. This is a company that was founded by SharePoint MVPs Andrew Connell and Ted Pattison. Navigate to the “Members” section of the site, create a free account and log in, and there’s a handy SharePoint Server 2010 RTM Virtual Machine Setup Guide (v1.6) that has proven helpful for me time and time again. This is a resource that I mention in most all of the SharePoint 2010 classes that I run. In addition to that build guide, they have all sorts of demo code available for you to download as well.

I think that does it for this post. Hopefully now you have a better idea of how to go about building a SharePoint 2010 virtual machine for development.