【Feature】初探Feature
Feature,表面词义为“特征,特色”,在SharePoint里却是一种“解决方案部署”(SharePoint特色)。
$%#@^&!*……很难理解的东东,网上查了很多资料,看来看去也难以理清头绪,相信和我一样作为SharePoint初学者的人来说,这都是不可避免的一个坎(呃呃)。
MSDN上一段对feature的定义:
Windows SharePoint Services 3.0 引入了一种内在轻量级的、功能模块化的特性——Feature,它通过设置(定义)网站配置简化了对网站的修改。一个Feature是一个“WSS元素(Element)”包,通过激活它来完成用户所要达到的目的和任务(Feature可以被 激活/停用,并且可设置其作用域的范围)。
【* 以上是我意译的,原文: Windows SharePoint Services 3.0 introduces an inherently portable and modular functionality known as a feature, which simplifies modification of sites through site definitions. A feature is a package of Windows SharePoint Services elements that can be activated for a specific scope and that helps users accomplish a particular goal or task. 】
咋一看还是不明白Feature的具体作用,于是找了个实例,跟着一番操作,终于有了丁点头目。
【实例】
第一步:
打开VS,创建一个类库的项目,命名为“FeatureToRunCode”,
将Class1.cs命名为MyCode.cs。添加引用Microsoft.sharepoint.dll。添加引用using Microsoft.SharePoint;并在MyCode类继承SPFeatureReceiver。
整个MyCode.cs代码如下
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
记得加入强名称,编译生成FeatureToRunCode.dll。并用Reflector.exe获取
程序集名:FeatureToRunCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=146ae474b0fd2221
类名:FeatureToRunCode.MyCode
将在后面的feature.xml文件中被用到。
第二步: 开始创建Feature文件。在FeatureToRunCode项目中,创建文件夹Features,在文件夹Features目录下创建文件夹FeatureToRunCode,在FeatureToRunCode文件夹下创建feature.xml. feature.xml的代码如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
说明:
在这个XML文件中,以下关于Featrue的metadata 包含在Featrue 元素中。(更详细的信息请参阅)
ID: 一个GUID,用于唯一标识这个Feature,可以通过VS生成
Title:Feature 的名字,可以在网站内关于Site Featrues的页面中看到。
Description:对description的描述。
Version:Feature的版本;
Scope:其值可以是Web或Site,它指明了这个Feature是应用于整个的Site Collection还是仅仅用于单独的一个子站点。
Hidden:值可以是True或False.该设置指定了这个Feature是否在Site Feature页面上显示。
DefaultResourceFile: 资源文件名字,Feature依赖它提供其它附加的配置信息。
ReceiverClass:为程序集接收类。
Feature.xml Files ReceiverAssembly:为接收程序集.
保存。这样我们的代码跟Feature文件就已经创建好了,接下来就是布署了。
第三步:
布署Feature。先将FeatureToRunCode.dll拖入到GAC里,即c:\WINDOWS\assembly目录下。
再到项目目录下的Features目录下,将FeatureToRunCode文件夹复制到C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES目录下。
在SharePoint服务器上打开命令行
输入命令切换目录:cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN
安装Feature输入命令:stsadm -o installfeature -filename FeatureToRunCode\feature.xml。
不要忘了要iisreset一下服务器。
OK,Feature的部署与开发已经完成。
第四步:
查看成果。打开网站,进入网站设置,进入网站管理---->网站功能,可以看到增加了一个FeatureToRunCode的Feature功能,如下图:
![](https://images.cnblogs.com/cnblogs_com/chendianhong/14.gif)
嗯,是不错,赶紧点击一下激活按钮,有点激动,好在,代码发挥作用了,网站的标题发生了变化了,变成My Feature is Working了,如下图:
![](https://images.cnblogs.com/cnblogs_com/chendianhong/13.gif)
至此,Feature管理后台代码已经完成了。