Microsoft Business Connectivity Services (BCS) 在服务器上提供了一个公共对象模型,用于将声明性 Outlook 解决方案的所有解决方案项目打包为一个 ClickOnce 包。此操作需要进行编码,并且只能在服务器上执行。为了轻松而快速地打包中间声明性 Outlook 解决方案,Business Connectivity Services 还提供了可从 MSDN 代码库获得的 BCS 解决方案打包工具(该链接可能指向英文页面)。可从客户端计算机运行此工具。
上次修改时间: 2011年8月22日
适用范围: SharePoint Server 2010
通过使用 BCS 声明性解决方案打包工具生成的包和对象模型是相同的,可以在客户端上将它们部署为 Outlook 加载项。加载项的二进制文件不是包的一部分,但在安装 Office 时,Business Connectivity Services 会将该文件作为当前位于全局程序集缓存中的托管 DLL 的一部分提供。
通过使用 BCS 解决方案打包工具打包声明性 Outlook 解决方案
下载 BCS 解决方案打包工具(该链接可能指向英文页面),并将其复制到已安装 Microsoft .NET Framework 3.5 和 Microsoft Office 2010 的客户端计算机上。
运行 BCSPackageTool.exe。这将显示"BCS 解决方案打包工具"对话框。
填入下面指定的所需信息,然后单击"包"按钮。
解决方案名称 指定解决方案包的名称。它必须与解决方案清单 (OIR.config) 中的 SolutionID 属性相同。否则,Business Connectivity Services 将不会在 Outlook 中自动为未映射的属性生成表单区域。
源文件夹路径 在本地计算机上选择包含解决方案项目的文件夹。
目标文件夹路径 在本地计算机上选择应包含输出文件和 Visual Studio 包的 Office 开发工具的文件夹。
解决方案版本 指定解决方案版本。
解决方案类型 选择"Outlook 中间声明性解决方案"选项。
通过单击"部署"按钮,触发针对已打包解决方案的解决方案部署。也可以双击针对 Visual Studio 包的 Office 开发工具来启动安装。
通过使用打包对象模型打包声明性 Outlook 解决方案
将解决方案项目上载到 SharePoint 文档库。创建另一个文档库以存储部署文件。
在提供必需信息后,在服务器上执行以下各节中的某个代码示例,具体取决于您是需要签名包还是未签名包。您应在目标文档库中看到已创建的 .VSTO 包。
siteUrl 包含文档库的 SharePoint 网站。
publishSrcTitle 包含所有解决方案项目的 SharePoint 文档库。
publishTargetTitle 将包含所有部署文件和 .VSTO 包的 SharePoint 文档库。
solutionName 必须与解决方案清单 (OIR.config) 中的 SolutionID 属性相同。否则,Business Connectivity Services 将不会在 Outlook 中自动为未映射的属性生成表单区域。
创建签名的 BCS 声明性解决方案包
以下示例演示如何创建签名的 BCS 声明性解决方案包。
Uri siteUrl = new Uri("https://localhost");
string publishSrcTitle = "PublishSrcDocLib";
string publishTargetTitle = "PublishTargetDocLib";
string solutionName = "Example Solution Name";
string solutionID = "Example Solution ID";
string certFileName = "Example Solution Cert.pfx";
string certFilePassword = "password";
Version solutionVersion = new Version(1, 0, 0, 0);
X509Certificate2 packageCert = new X509Certificate2(
certFileName, certFilePassword);
SolutionPackage package = new SolutionPackage(
siteUrl, publishSrcTitle, solutionName, solutionID, solutionVersion);
string depolymentFileName = package.Generate(
packageCert, publishTargetTitle);
创建未签名的 BCS 声明性解决方案包
以下示例演示如何创建未签名的 BCS 声明性解决方案包。
Uri siteUrl = new Uri("https://localhost");
string publishSrcTitle = "PublishSrcDocLib";
string publishTargetTitle = "PublishTargetDocLib";
string solutionName = "Example Solution Name";
string solutionID = "Example Solution ID";
Version solutionVersion = new Version(1, 0, 0, 0);
SolutionPackage package = new SolutionPackage(
siteUrl, publishSrcTitle, solutionName, solutionID, solutionVersion);
string depolymentFileName = package.GenerateUnsigned(publishTargetTitle);
后续步骤
步骤 5(可选):创建 Outlook 窗体区域 (*.ofs) 和窗体区域清单 (FormRegionManifest.xml)