50 Limitations of SharePoint Sandboxed Solutions
1. Deployment at site collection level (No Web Application-scoped Features or Farm-scoped Features). So, If you have 100 site collections, then you have to deploy the same sandbox solution to 100 site collections.
2. No SPSecurity - Therefore no Elevated Privileges
3. You can't use SPSite object to get other site collections. (But you can use it to get current site as : SPSite site = SPContext.Current.Site)
4. Visual webparts are not supported (But you can use the "Visual Studio 200 SharePoint Power Tools" to get this functionality)
5. cannot call to the network resources. E.g. You cannot read/write to a database on the server (But you can use Silverlight)
6. Only "No code" workflows allowed. No Visual studio workflows (But the workflows without classes which are imported and edited in Visual studio will work!)
7. No support for System.IO, Therefore you Cannot read/write to the file system.(But you can use Web Services hosted in your on-premises and call from workflow)
8. HideCustomAction, CustomActionGroup are not allowed. But you can use <CustomAction>
9. Remember, Resource Usage Quotas/Limits applied on Sandboxed solutions http://msdn.microsoft.com/en-us/library/gg615462.aspx
10. No Feature stapling supported.
11. Can't write to registry (But you can read)
12. Limited Server Object Model MSDN: http://msdn.microsoft.com/en-us/library/gg615454.aspx
13. Can't set cookies in the sandbox. Use JQuery plugin instead http://plugins.jquery.com/project/cookie
14. No call to external WCF/web services such as HTTP calls (But we can use AJAX)
15. Content Type Binding is not supported
16. No support for custom Timer jobs
17. Can't use SharePoint mapped folders such as _layouts
18. Can't export a Sandboxed Web Part
19. Microsoft.SharePoint.WebControls and Microsoft.SharePoint.WebPartPages Namespace are not available. So you have no access to CssRegistration class, But you can use: <Link> tag for style sheets!
20. Managed Metadata - No programmatic access to taxonomy object model.
21. No ADO.NET support!
22. No support for SPUtility.SendEmail, So you can't Send Mails using this class.
23. No caching support
24. No Custom HTTP Modules
25. No developer dashboard
26. No Site Definition
27. Can't use controls for delegation
28. No Business Connectivity Services support
29. No Localization support
30. No SPWebConfigModification usage
31. Most of the Microsoft.SharePoint.Administration are disabled
32. No Document converters
33. No User Control support.
34. NO Custom service applications
35. SharePoint web controls (such as SPTreeView) are not supported
36. ClientScriptManager is not available - No access to ScriptManager.
37. Can't access the event viewer for logging
38. No PropertyBags of SharePoint Object model are not accessible,( But you can use SPWeb.AllProperties or custom list to store settings)
39. No GAC Deployment - Your solutions will be stored in content database. Can't deploy assemblies to GAC and Cannot call assemblies deployed out of Global Assembly Cache
40. CustomPropertyToolPart not supported
41. Can't create application pages or site pages with code behind
42. No Server side redirects, such as Response.Redirect, Server.Transfer, SPUtility.Redirect.
43. Can't access some of the enterprise services like UserProfile, Search
44. Can't access dlls from BIN and resources files(.resx)
45. Can't access code that is not marked to allow partially trusted callers
46. Can't access Cache object.
47. HttpRequest.Files collection will not contain anything
48. Only SPLimitedWebPartManager is available.
49. SharePoint Web controls (namespace SharePoint.WebControls) are not available,
50. Last but not least: site Template Binding is not supported.
2. No SPSecurity - Therefore no Elevated Privileges
3. You can't use SPSite object to get other site collections. (But you can use it to get current site as : SPSite site = SPContext.Current.Site)
4. Visual webparts are not supported (But you can use the "Visual Studio 200 SharePoint Power Tools" to get this functionality)
5. cannot call to the network resources. E.g. You cannot read/write to a database on the server (But you can use Silverlight)
6. Only "No code" workflows allowed. No Visual studio workflows (But the workflows without classes which are imported and edited in Visual studio will work!)
7. No support for System.IO, Therefore you Cannot read/write to the file system.(But you can use Web Services hosted in your on-premises and call from workflow)
8. HideCustomAction, CustomActionGroup are not allowed. But you can use <CustomAction>
9. Remember, Resource Usage Quotas/Limits applied on Sandboxed solutions http://msdn.microsoft.com/en-us/library/gg615462.aspx
10. No Feature stapling supported.
11. Can't write to registry (But you can read)
12. Limited Server Object Model MSDN: http://msdn.microsoft.com/en-us/library/gg615454.aspx
13. Can't set cookies in the sandbox. Use JQuery plugin instead http://plugins.jquery.com/project/cookie
14. No call to external WCF/web services such as HTTP calls (But we can use AJAX)
15. Content Type Binding is not supported
16. No support for custom Timer jobs
17. Can't use SharePoint mapped folders such as _layouts
18. Can't export a Sandboxed Web Part
19. Microsoft.SharePoint.WebControls and Microsoft.SharePoint.WebPartPages Namespace are not available. So you have no access to CssRegistration class, But you can use: <Link> tag for style sheets!
20. Managed Metadata - No programmatic access to taxonomy object model.
21. No ADO.NET support!
22. No support for SPUtility.SendEmail, So you can't Send Mails using this class.
23. No caching support
24. No Custom HTTP Modules
25. No developer dashboard
26. No Site Definition
27. Can't use controls for delegation
28. No Business Connectivity Services support
29. No Localization support
30. No SPWebConfigModification usage
31. Most of the Microsoft.SharePoint.Administration are disabled
32. No Document converters
33. No User Control support.
34. NO Custom service applications
35. SharePoint web controls (such as SPTreeView) are not supported
36. ClientScriptManager is not available - No access to ScriptManager.
37. Can't access the event viewer for logging
38. No PropertyBags of SharePoint Object model are not accessible,( But you can use SPWeb.AllProperties or custom list to store settings)
39. No GAC Deployment - Your solutions will be stored in content database. Can't deploy assemblies to GAC and Cannot call assemblies deployed out of Global Assembly Cache
40. CustomPropertyToolPart not supported
41. Can't create application pages or site pages with code behind
42. No Server side redirects, such as Response.Redirect, Server.Transfer, SPUtility.Redirect.
43. Can't access some of the enterprise services like UserProfile, Search
44. Can't access dlls from BIN and resources files(.resx)
45. Can't access code that is not marked to allow partially trusted callers
46. Can't access Cache object.
47. HttpRequest.Files collection will not contain anything
48. Only SPLimitedWebPartManager is available.
49. SharePoint Web controls (namespace SharePoint.WebControls) are not available,
50. Last but not least: site Template Binding is not supported.
Wow! Nice compilation
ReplyDeletevery helpful!
ReplyDeleteVery helpful.
ReplyDeletehttp://blog.mmasood.com
Cannot use FullTextSQLQuery
ReplyDeleteVery good article!
ReplyDeleteCool Brief of limitations.. thanks
ReplyDeletevery helpfull
ReplyDeleteand what is allowed ? nothing. It is end of sharepoint developers. Shit of microsoft
ReplyDeletevery good and easy to understand...
ReplyDeleteAny one else experience frustration while converting a solution package to a sandboxed solution package. It's been quite a challenge for me because I have to look for work arounds to doing things like adding a web part to a page, programmatically adding an event receiver, and programattically editing the properties of a field.
ReplyDeletecan we take xml file from Form Library using CSOM in C# in Sandbox Solution?
ReplyDeleteI am unable to export more than 2000 records to excel from SharePoint external list. External list has 5000 records but only 2000 records getting exported to excel.
ReplyDeleteAny help on this would be highly appreciated.
Thanks in advance.
This is because of the throttling limit on External List. Use Set-SPBusinessDataCatalogThrottleConfig to increase the limit.
DeleteHi Salaudeen,
DeleteThanks for your response.
Already increased the BCS throttling limit and able see 5000 records in my external list but unable to export to excel. Only 2000 records getting export to excel.
Is there any settings needs to change to export all the 5000 records to excel. please let me know if you know the solution for this issue.
Thanks in advance.
Regards,
Girish.