Where to do SharePoint development?
I'm trying to use the Microsoft.Sharepoint assembly for some development I'm doing. I've been getting some errors and, from what I've seen, it looks like I need to do any SharePoint development on my SharePoint server. Needless to say, this would be a pain (and seems a little odd).
Is there a way to get around this? I tried to install WSS on my development machine but the installer only works with Windows Server 2003 or 2008. I'd rather not install MOSS on my local machine.
You do need to have SharePoint installed on any machine you want to use the server-side Microsoft.SharePoint.dll on. It's possible to install SharePoint 2010 on a Windows 7 machine, there are, however, some pretty compelling reasons not to do so. For SharePoint 2007 this isn't a real option (there are some hacks to get it up and running under Windows Vista/7, but they aren't supported and are not fully functioning).
The most common scenario for developing against SharePoint is to do development on a virtual machine. This has the added benefit of allowing you to snap shot your environment should you completely wreck something, so that you can simply roll back instead of needing to start from scratch.
I've personally had success using VM-Ware Workstation, Hyper-V, and VirtualBox to host virtual machines for SharePoint.
If you're coding against the SharePoint web services or Client Object Model, you'll be able to work from any environment with access to your SharePoint server, but what's available with the out of the box services and the COM is a very limited subset of what's in the full SharePoint object model.