此示例演示如何通过使用 Microsoft SharePoint Foundation 解决方案框架来部署用户定义函数 (UDF) DLL。
SharePoint Foundation 解决方案框架可让您将用于扩展 SharePoint Foundation 的所有组件捆绑在一个称为解决方案文件的新文件中,此文件带有 .wsp 扩展名,而且其格式基于 CAB。解决方案是一个可部署、可重复使用的包,可包含一组功能、网站定义和程序集,您可以将它们应用于网站并单独地启用或禁用。此外,您可以使用解决方案文件来部署 Web 部件包的内容,包括程序集、类资源, .dwp 文件和其他包组件。有关 SharePoint Foundation 解决方案框架的详细信息,请参阅 开始针对 SharePoint Foundation 进行开发 (http://msdn.microsoft.com/zh-cn/library/ee539432(office.14).aspx)中的 SharePoint Foundation 节点。
通过使用 SharePoint Foundation 解决方案框架来创建和部署 UDF 程序集的过程如下:
-
创建解决方案清单文件 Manifest.xml。
解决方案清单(通常称为 Manifest.xml)存储在解决方案文件的根部。该文件定义要处理的功能、网站定义、资源文件、Web 部件文件和程序集的列表。它未定义文件结构;如果在解决方案中包括文件但未在清单 XML 文件中列出这些文件,则不会以任何方式处理这些文件。
注释 有关清单 XML 文件结构的详细信息,请参阅 SharePoint Foundation 文档。
-
将 UDF 程序集和 Manifest.xml 打包为一个 CAB 文件。
-
确保 SharePoint Foundation 管理服务在服务器上运行。
-
通过使用 stsadm.exe 将解决方案添加到服务器。
-
通过使用 stsadm.exe 部署解决方案。
每个 Excel Services 受信任位置都有一个 AllowUdfs 标志。
注释 |
---|
AllowUdfs 标志是由“Excel Services 受信任文件位置”页上的“允许的用户定义函数”选项表示的。若要了解如何导航到“受信任文件位置”页,请参阅步骤 3:部署和启用 UDF。 |
为了允许从特定的受信任位置调用 UDF,您必须:
-
将 AllowUdfs 值设置为 true。默认值为 false。
-
将 UDF 程序集添加到受信任的 UDF 列表,以允许从工作簿中调用 UDF。
有关如何启用 UDF 和将 UDF 添加到受信任的 UDF 列表的详细信息,请参阅如何:启用 UDF。
注释 |
---|
为避免名称冲突,请为 UDF 程序集和它们的依赖项指定强名称,而且名称要尽可能唯一。有关详细信息,请参阅 Excel Services 最佳做法和 Excel Services 已知问题和提示。 |
创建 Manifest.xml 文件
-
在“解决方案资源管理器”中右键单击您的项目,指向“添加”,再单击“新建项”。
-
选择“XML 文件”,将文件命名为 Manifest.xml。
-
单击“添加”。
-
将以下内容添加到文件中:
XML<?xml version="1.0" encoding="utf-8" ?> <Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="{57568687-2CC0-45bf-B66A-2D50D57108CA}" DeploymentServerType="ApplicationServer"> <Assemblies> <Assembly DeploymentTarget="GlobalAssemblyCache" Location="EcsUdfsCommonSet.dll"/> </Assemblies> </Solution>
注释 应为每个解决方案生成一个唯一的 GUID。有关 Solution 元素的详细信息,请参阅 SharePoint Foundation解决方案和 Web 部件包 (http://msdn.microsoft.com/zh-cn/library/ms413687(office.12).aspx)。
创建解决方案包
-
有关如何创建解决方案文件的信息,请参阅 SharePoint Foundation SDK 中的“Solutions and Web Part Packages”(解决方案和 Web 部件包)节点下的“Creating a Solution”(创建解决方案)主题。
验证 SharePoint Foundation 管理是否在运行
-
单击“开始”,指向“管理工具”,再双击“服务”。
出现“服务”对话框。
-
确保“SharePoint Foundation 管理”服务的状态显示为“已启动”。如果不是,请右键单击“SharePoint Foundation 管理”,然后选择“启动”。
添加解决方案
-
依次单击“开始”、“运行”,再键入 cmd。
出现命令提示符控制台。
-
运行以下脚本以将解决方案添加到 SharePoint 服务器:
stsadm.exe -o addsolution -filename <CAB 的路径>
注释 可以在以下路径找到 Stsadm.exe:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN。
注释 有关 Stsadm.exe 命令选项的详细信息,请参阅 (http://technet.microsoft.com/zh-cn/library/ff621081.aspx)(该链接可能指向英文页面)。
部署解决方案
-
依次单击“开始”、“运行”,再键入 cmd。
出现命令提示符控制台。
-
运行以下脚本以将解决方案部署到 SharePoint 服务器。
stsadm.exe -o deploysolution -name <CAB 的文件名> -immediate -allowGacDeployment
现在应该在全局程序集缓存中看到您的 UDF DLL。