As more and more .NET developers are beginning to develop custom SharePoint assets, a few common questions continue to be How do I set up a development environment? and What tools do I need? Now, I know that beauty is in the mind of the developer and unfortunately size does matter. Different size organizations have different policies but there are several requirements any environment should have. Here is my own 2 cents in on a few aspects since I know a lot of folks don't want to read a lot of documents....I'm not sure what they do between 12:00 am and 6:00 am but it's definitely not reading. But, again, these are my own 2 cents. Check out the references and you will get a more complete story from folks much smarter than me. I've also include references for tools you should also install.
- First and foremost, you need to develop locally for the "best" debugging and testing experience.
- Development is done in a virtual machine using the Win2003 OS and WSS/MOSS installed. Each developer should have their own virtualized environment. Have the virtual instance on a separate internal drive if capability allows or use an external drive. Now having said this, you should know that I use both a virtualized environment and a standalone environment that has Win2003 installed directly. In the latter scenario, I use a standalone Web server without a domain controller. I have found that this is a very lean system and I can accomplish a lot of development without unnecessary overhead.
- The host computer needs 4 GB of RAM. Of course you can use 2 GB, but why??? In this case, more is better.
- Establish a set of scripts to automate the configuration of your development environment. Scot Hillier has an excellent set to get you started: SharePoint Development Environment Modifications
- A Visual Studio development process that maximizes your productivity. This will hopefully evolve as you do more and more development but I'd encourage you to check out my buddy Ted Pattison's STSDEV to get you started.
- <update May 1, 2008>Since I posted this my buddy Andrew Connell has released a tool for building projects and solutions, SharePoint Project Utility Tool Window. I've been using it recently and it's great as well. It's awesome to see this kind of tool development by Ted and Andrew. Great job guys. Choices...choices...choices...
- And for a great SharePoint development book, here you go.
Environment Requirements and Overview
Building the Virtualized Environment
Configuration, Tools and Processes