沙盒解决方案中可用和不可用的 SharePoint 程序集
本主题列出沙盒解决方案中可用和不可用的 Microsoft SharePoint Foundation 和 Microsoft SharePoint Server 托管代码程序集。
上次修改时间: 2015年3月9日
适用范围: SharePoint Foundation 2010
并不是 SharePoint Foundation 和 SharePoint Server 中的所有程序集都可从沙盒解决方案调用。
备注
有关沙盒解决方案中可用 Microsoft .NET Framework 程序集的信息,请参阅沙盒解决方案中可用和不可用的 .NET 程序集。
从沙盒解决方案中对 SharePoint 程序集中的 API(而不是 Microsoft.SharePoint.dll)的调用所受的限制与沙盒解决方案中的任何其他调用相同:只能调用具有 AllowPartiallyTrustedCallersAttribute 的程序集,只能调用安装在全局程序集缓存中的程序集,并且调用的所有 API 受代码访问安全 (CAS) 策略和沙盒工作进程的受限安全令牌的制约。有关详细信息,请参阅沙盒解决方案的限制。
Microsoft.SharePoint.dll 程序集是一个特例。从沙盒解决方案 中对此程序集中的 API 的调用所受的限制与对其他 SharePoint API 的调用差不多。有关从沙盒解决方案中调用此程序集的详细信息,请参阅沙盒解决方案体系结构和沙盒解决方案中可用的 Microsoft.SharePoint.dll API。
以下各节列出具有和不具有 AllowPartiallyTrustedCallersAttribute 的 SharePoint Foundation 和 SharePoint Server 托管代码程序集。
备注
某些 SharePoint 程序集只包含我们不支持在第三方代码中调用的类。这些程序集未列在本主题的任意表中。
备注
沙盒解决方案中的代码无法调用非托管程序集。
沙盒工作进程中的可用 SharePoint 程序集
如果本节列出的程序集符合三个条件,则它们在沙盒解决方案中"可用":
在每个程序集中至少包含我们至少 支持在服务器场解决方案中调用的一个公共 API。
每个程序集都具有 AllowPartiallyTrustedCallers 属性。
每个程序集都部署到全局程序集缓存。
重要信息 |
---|
请记住,并非可用程序集中的每个 API 都可成功调用。一些 API 可能需要沙盒工作进程的进程令牌或 CAS 策略不允许的权限。因此,无法从沙盒解决方案中调用列为可用的程序集中的一些(甚至所有)API。特别需要注意的是,CAS 策略会阻止沙盒工作进程中的代码访问 SharePoint 数据库(除了从 Microsoft.SharePoint.dll 调用数据库)。通常由于此限制,对 SharePoint Foundation 和 SharePoint Server 程序集中 Microsoft.SharePoint.dll 以外的 API 的调用会失败,即使该程序集位于 GAC 中,并且具有 AllowPartiallyTrustedCallers 属性。 |
SharePoint Foundation 中的程序集
程序集 |
说明 |
---|---|
Microsoft.SharePoint |
此程序集的处理方式与其他程序集不同。有关详细信息,请参阅沙盒解决方案体系结构和沙盒解决方案中可用的 Microsoft.SharePoint.dll API。 |
Microsoft.SharePoint.Linq |
调用此程序集中的多数 API 会引发对 Microsoft.SharePoint.dll 的调用。因为对后者的全部调用(从沙盒工作进程)会重定向到程序集的填充码版本,所以从 Microsoft.SharePoint.Linq.dll 的调用先通过填充码,并最终由在完全信任代理进程中运行的 Microsoft.SharePoint.dll 的标准版本执行。因此,LINQ to SharePoint 可读取和写入内容数据库。有关 Microsoft.SharePoint.dll 的填充码版本的详细信息,请参阅沙盒解决方案体系结构和 Microsoft.SharePoint.dll 程序集的特殊版本。有关 LINQ to SharePoint 的详细信息,请参阅使用 LINQ to SharePoint 管理数据。 |
Microsoft.SharePoint.Search |
|
Microsoft.SharePoint.Security |
SharePoint Server 中的程序集
程序集 |
说明 |
---|---|
Microsoft.SharePoint.Portal |
|
Microsoft.SharePoint.Publishing |
|
Microsoft.SharePoint.Search.Extended.Administration |
|
Microsoft.SharePoint.Search.Extended.Administration.Common |
|
Microsoft.Office.Excel.Server.Udf |
|
Microsoft.Office.Server |
|
Microsoft.Office.Server.Search |
|
Microsoft.Office.Server.UserProfiles |
沙盒工作进程中不可用的 SharePoint 程序集
此处列出的大多数程序集不具有 AllowPartiallyTrustedCallers 属性。
SharePoint Foundation 中的程序集
程序集 |
说明 |
---|---|
Microsoft.SharePoint.ApplicationPages |
|
Microsoft.SharePoint.ApplicationPages.Administration |
|
Microsoft.SharePoint.WorkflowActions |
|
Microsoft.SharePoint.UserCode |
虽然此程序集具有 AllowPartiallyTrustedCallers 属性,但它不可用,因为它未部署到全局程序集缓存。 |
SharePoint Server 中的程序集
程序集 |
说明 |
---|---|
Microsoft.Office.SharePoint.ClientExtensions |
|
Microsoft.SharePoint.Taxonomy |
|
Microsoft.SharePoint.Taxonomy.Intl |
|
Microsoft.Office.Policy |
|
Microsoft.Office.DocumentManagement.AdminPages |
|
Microsoft.Office.DocumentManagement |
|
Microsoft.Office.Excel.Server.WebServices |
|
Microsoft.Office.Server.Search.Connector |
|
Microsoft.Office.Word.Server |
|
Microsoft.Office.Workflow.Actions |
|
Microsoft.Office.Workflow.Pages |
|
Microsoft.Office.Workflow.Tasks |