Es importante tomar en cuenta que las SandBox Solutions tienes ciertas limitantes en el desarrollo ya que obviamente es un empaquetado que se ejecuta en entorno aislado (sitio o colección de sitios), a continuación mencionaré algunas de las limitantes para tomar en cuenta
No se pueden crear Visual Web Parts dentro de visual studio 2010
Cuando se desea agregar una Visual Web Part no se tienen la opción para agregarla como Sandbox. Sin embargo ahora ya se tiene una solución:
Instalación de Visual Studio 2010 SharePoint Power Tools: http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9
Se encontrará una nueva plantilla “Visual Web Part (Sandbox)”
No se pueden agregar archivos en la carpeta de layouts
Se puede utilizar un módulo para implementar los archivos de la aplicación, sin utilizar la biblioteca de documentos

Se pueden leer los archivos anexando la dirección del módulo a su URL de la colección de sitios:
http://[myhostname]/MiColeccionSitiosMyFiles/js/jquery1.4.4.min.js
No se puede usar páginas de aplicaciones con el código subyacente
Puede implementar una página de aplicación utilizando un módulo y agregar una Visual Web Part Sandbox para utilizar el código subyacente.
SharePoint ofrece un nombre de clase específicos a los archivos de este objetivo.
En el siguiente enlace puedes encontrar un buen ejemplo:
http://www.wictorwilen.se/Post/Custom-application-pages-in-the-SharePoint-2010-Sandbox.aspx
Descripción de las restricciones de Sandbox solutions
Restringir el acceso de las Sandbox solution a un subconjunto del espacio de nombres Microsoft.SharePoint tiene por objeto impedir el acceso a la funcionalidad de las soluciones que podrían desestabilizar a la granja. Cuando las soluciones de espacio aislado realizan llamadas al modelo de objetos de SharePoint, las llamadas se en rutan a través de un subconjunto de proxy, que a su vez hace que las llamadas al modelo de objetos completo.
El subgrupo de proxy expone sólo el siguiente subconjunto del modelo de objetos:
Todo el namespace Microsoft.SharePoint, excepto
- SPSite constructor
- SPSecurity object
- SPWorkItem and SPWorkItemCollection objects
- SPAlertCollection.Add method
- SPAlertTemplateCollection.Add method
- SPUserSolution and SPUserSolutionCollection objects
- SPTransformUtilities object
- Microsoft.SharePoint.Navigation namespace
Todo el namespace Microsoft.SharePoint.Utilities, excepto
- SPUtility.SendEmail method
- SPUtility.GetNTFullNameandEmailFromLogin method
- Microsoft.SharePoint.Workflow namespace
Todo el namespace Microsoft.SharePoint.WebPartPages, excepto
- SPWebPartManager object
- SPWebPartConnection object
- WebPartZone object
- WebPartPage object
- ToolPane object
- ToolPart object
Si se examina el subgrupo de modelo de objetos con cuidado, te dará cuenta de que las porciones disponibles son parte del modelo de núcleo de objeto fundacional. No hay objetos disponibles en capacidades más avanzadas tales como Business Connectivity Services (BCS), la búsqueda de SharePoint, Excel Services, y así sucesivamente. Con este subconjunto de la funcionalidad en mente, la Tabla 4-1 enumera los tipos comunes de elementos de un proyecto de SharePoint y si están o no disponibles en la Sandbox solution.
Tabla 4-1. Proyecto de SharePoint Disponibilidad de elementos en soluciones de Sandbox
| Disponible en Sandbox |
No Disponible en Sandbox |
| List definitions |
Visual Web Parts |
| List instances |
Application pages |
| Site definitions |
Custom action group |
| WebTemplate feature elements (instead of Webtemp.xml) |
HideCustomAction element |
| Content types/Fields |
Content type binding |
| Module/files |
Web application-scoped features |
| Feature callouts |
Farm-scoped features |
| Web Parts |
Workflows with code |
| Support for all Web Parts that derive from System.Web.UI.WebControls.WebParts.WebPart |
|
| SPItemEventReceiver |
|
| SPListEventReceiver |
|
| SPWebEventReceiver |
|
| Custom actions |
|
| Declarative workflows |
|