sharepoint create my first feature 2010.4.19

1.上一篇日志中记录了一个feature中包含了一些文件,而这些文件最终部署在wss的文件目录中,路径是:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES

2.在vs2008新建一个class library project去生成这个工程。

3.为了部署方便,在这个project中应建立和wss路径相似的目录结构。建立目录结构TEMPLATE\FEATURES\工程名,这个目录下建立feature.xml和element.xml

3.<Feature Id="" Title="Hello World Feature" Description="This is my very first custom feature" Scope="Web" Hidden="FALSE" ImageUrl="menuprofile.gif"

ReceiverAssembly="HelloWorld, Version=1.0.0.0, Culture=neutral,
                     PublicKeyToken=b59ad8f489c4a334"
  ReceiverClass="HelloWorld.FeatureReciever"

 xmlns="http://schemas.microsoft.com/sharepoint/">

<ElementManifests>
    <ElementManifest Location="elements.xml" />
  </ElementManifests>

</Feature>

Title:active feature时的名字,Description:active feature时的描述,

Scope:feature部署的lever,WEB代表部署到每个site,

hidden:若为TRUE,则该feature不能从UI上激活,即不暴漏给用户,只能用命令行或者在其他feature激活时通过代码激活,FALSE即可以让用户来操作。

ReceiverAssembly,ReceiverClass:如果在active feature或deactive feature时添加event,可以使用该属性引用定义该event的类,PublicKeyToken见strong name

程序运行时会在GAC和该网站站点下_app_bin这两个地方查找该程序集。

<ElementManifests>
    <ElementManifest Location="elements.xml" />
  </ElementManifests>

这个节点指该feature中真正的内容

4.strong name:

  对于一个程序集,如果要部署到GAC中,需要有个strong name,使用方法如下:

  (1).打开SDK Command Prompt或者VS2005中的Visual Studio 2005   Command Prompt.而不是windows的cmd 
(2).输入sn -k 文件名.snk,得到的文件在命令提示符的当前文件夹下(微软叫文件夹很少叫目录,最正点是folder) 
(3).输入sn -p 文件名.snk 文件名Public.snk 
(4).输入sn -t 文件名Public.snk 得到public key token,该token就是feature中引用程序集的PublicKeyToken的值。

(5)在SDK Command Prompt或者Visual Studio 2005   Command Prompt的目录下会生成两个文件 ,文件名.snk和文件名Public.snk,第二个没用。在vs工程中右键->propertis->signing->sign the assembly->browse,选择文件文件名.snk,保存编译。

(6)把生成的dll手工拷贝到GAC中或者目标网站下的_app_bin目录下,在windows命令行中输入assembly就直接打开了GAC文件夹,在windows命令行中输入inetmgr就打开了网站的虚拟目录。

posted @ 2010-05-07 17:25  王猛  Views(408)  Comments(0Edit  收藏  举报