当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > MSDN Visual系列:创建SharePoint Services解决方案包

ASP.NET
Visual Studio.Net 内幕(7)
.Net 2.0 原汁原味读取注册表
ASP.NET 2.0中预设的cookie
ASP.NET:一段比较经典的多线程学习代码
ASP.NET2.0服务器控件之自定义状态管理
Asp.net给站点某目录增加Aspnet用户
ASP.NET技巧:请求网址并解析返回的html
在Asp.net用C#建立动态Excel
ASP.NET2.0:页面中链入的CSS、js文件带中文时需注意
ASP.NET技巧:数据岛出到Excel最为简易的方法
第一次用.net2.0 LOGIN登陆控件的困惑和解决方法
在ASP.net中保存/取出图片入/从SQL数据库
ASP.NET技巧:做个DataList可分页的数据源
在.NET中利用委托实现窗体间通信
在.NET2.0中使用自定义事务操作
解决 ASP.NET中目录访问权限的问题
ASP.Net防止刷新自动触发事件的解决方案
白刃之战:PHP vs. ASP.NET(节选)-架构比较
C#中使用SendMessage
提取HTML代码中文字的C#函数

ASP.NET 中的 MSDN Visual系列:创建SharePoint Services解决方案包


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 244 ::
收藏到网摘: n/a

WSSv3引入了一种名为“解决方案包”的部署机制。这套机制可以支持将解决方案作为一个整体单元来部署。这样,我们就可以方便的维护,测试和多次的重复使用。我们可以将制作好的SharePoint解决方案包部署到WSSv3或MOSS的服务器环境中,包括单机环境,或独立Web服务器的小型环境甚至企业大型服务器场环境。

一个解决方案包是一个扩展名为.wsp的CAB文件。它包括了所有要部署到前端服务器上的文件和一些XML格式的安装指导文件。SharePoint提供了丰富的基础架构,可以实现解决方案包在服务器场环境下的简单部署。

每个解决方案包必须包含一个名为manifest.xml的头文件。该文件内部定义了一个Solution元素。

下面的manifest.xml文件创建了一个用于列表条目级审批的解决方案。

以下为引用的内容:

<Solution SolutionId="44BE5F4A-D561-4981-A318-95ABC706364A"
          xmlns="http://schemas.microsoft.com/sharepoint/">
  <FeatureManifests>
    <FeatureManifest Location="ItemAuditing\feature.xml" />
  </FeatureManifests>
  <TemplateFiles>
    <TemplateFile Location="LAYOUTS\AuditLogViewer.aspx"/>
    <TemplateFile Location="LAYOUTS\ItemAudit.aspx"/>
    <TemplateFile Location="LAYOUTS\AuditLogWorkbook.ashx"/>
  </TemplateFiles>
  <Assemblies>
    <Assembly DeploymentTarget="GlobalAssemblyCache"
              Location="ItemAuditing.dll" />
  </Assemblies>
</Solution>

为解决方案包生成CAB文件

正如上面的例子那样,manifest.xml文件定义了哪些文件是作为该解决方案的一部分,应该被部署到前端Web服务器。定义了manifest.xml文件后,我们需要把它与其他所需的文件一起编译到一个CAB文件中。可以使用命令行工具MAKECAB.EXE来进行CAB文件的制作。如果要用这个工具,我们还要定义一个.ddf文件来告诉MAKECAB.EXE哪些文件要包含到输出的CAB文件中。下面给出一个.ddf的例子,名为cab.ddf,用来为上面的条目级审批解决方案生成ItemAuditing.wsp解决方案包文件。

以下为引用的内容:

.OPTION EXPLICIT ; Generate errors
.Set CabinetNameTemplate=ItemAuditing.wsp    
.Set DiskDirectoryTemplate=CDROM ; All cabinets go in single directory
.Set CompressionType=MSZIP ; All files compressed in cabinet files
.Set UniqueFiles="ON"
.Set Cabinet=on
.Set DiskDirectory1=Package

Solution\manifest.xml manifest.xml
TEMPLATE\FEATURES\ItemAuditing\feature.xml ItemAuditing\feature.xml
TEMPLATE\FEATURES\ItemAuditing\elements.xml ItemAuditing\elements.xml
TEMPLATE\LAYOUTS\AuditLogViewer.aspx LAYOUTS\AuditLogViewer.aspx
TEMPLATE\LAYOUTS\ItemAudit.aspx LAYOUTS\ItemAudit.aspx
TEMPLATE\LAYOUTS\AuditLogWorkbook.ashx LAYOUTS\AuditLogWorkbook.ashx
bin\Debug\ItemAuditing.dll ItemAuditing.dll
运行MAKECAB.EXE

创建好.ddf文件后,我们就可以运行如下的命令来生成.wsp解决方案包文件。

以下为引用的内容:

makecab /f Solution\cab.ddf

解决方案包很适合作为一个企业级或商业用途的部署文件。可以用Visual Studio项目的方式在开发环境中创建。对于所有需要部署到开发环境以外的场景,都可以用解决方案包的方式来部署。解决方案包还使得系统管理员可以进行脚本化安装,这个功能对于许多企业级的IT组织十分必要。