代码段:为声明性解决方案创建 BCS 解决方案包

上次修改时间: 2013年1月16日

适用范围: SharePoint Server 2010

声明性解决方案在 Microsoft Outlook 2010 中运行。声明性解决方案以声明方式使用 Business Connectivity Services 富客户端运行时。您可以创建 XML 文件(例如 BDC 模型、解决方案清单 (OIR.Config)、订阅、功能区以及布局),然后在打包时将它们传递到 Business Connectivity Services。Business Connectivity Services 在 Outlook 中打包并部署该解决方案,然后以您在 XML 文件中指定的方式运行它。在此类解决方案中,可以引用和使用自定义外部数据部件、自定义操作、任务窗格和功能区。

Business Connectivity Services 提供一个公共对象模型以在 Outlook 中打包声明性解决方案。生成的包作为 Outlook 加载项 ClickOnce 包部署到客户端上。加载项的二进制文件不是该包的一部分,而是由 Business Connectivity Services 作为 Office 安装时当前放置在全局程序集缓存中的托管 DLL 的一部分提供的。

以下代码示例演示在为 Outlook 声明性解决方案创建所有必需的 XML 文件后如何创建 Business Connectivity Services 解决方案包,并将它们上载到 SharePoint 文档库。

必备组件

  • Microsoft SharePoint Server 2010

  • Microsoft .NET Framework 3.5

创建签名的 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 解决方案包

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);

请参阅

引用

SolutionPackage

SolutionPackage(Uri, String, String, String, Version)

Generate(X509Certificate2, String)

GenerateUnsigned(String)

概念

使用 Business Connectivity Services 创建中间声明性 Outlook 解决方案