沙盒解决方案中可用和不可用的 SharePoint 程序集

本主题列出沙盒解决方案中可用和不可用的 Microsoft SharePoint Foundation 和 Microsoft SharePoint Server 托管代码程序集。

上次修改时间: 2015年3月9日

适用范围: SharePoint Foundation 2010

在 SharePoint Online 中提供

并不是 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

请参阅

概念

沙盒解决方案的限制

沙盒解决方案中可用和不可用的 .NET 程序集

沙盒解决方案体系结构