Por ejemplo, importar Microsoft. SharePoint.dll a un proyecto de tipo biblioteca de clase para crear una clase y heredar Microsoft.SharePoint.IListEventSink, implementar algunos de sus miembros, trabajar sin soporte de visualización, aumentar versión en el AssemblyInfo, compilar y los archivos dlls resultantes copiarlos, pegarlos en el servidor e insertarlos en el GAC. Después tener que irnos a cualquier biblioteca de documentos, seleccionar opciones avanzadas y especificar el número de la versión de nuestro dll. Después generar un evento y probar que funcione. Sin ningún soporte desde Visual Studio. Te suena familiar? Seguro has desarrollado sobre SharePoint v2.
Esta historia ya cambio en SharePoint v3. Para empezar ya podemos utilizar dlls sin que existan en el GAC, con solamente publicarlas en el folder correcto ya podemos hacer uso de funcionalidades además también contamos con el Windows SharePoint Services 3.0: Visual Studio 2005 Extensions el cual contiene plantillas para la creación de WebParts y programáticamente crear sitios, content types, custom fields etc.
Descárgalo y disfrutalo!