您的当前位置:首页正文

SharePoint Server开发模块(Module)项详细操作教程

2024-01-31 来源:钮旅网


SharePoint Server开发模块(Module)项详细操作图文教程

目录

1. 概述 2

2. 创建SHAREPOINT空项目 2

3. 开发模块项 5

3.1. 添加模块项 3.2. ELEMENTS.XML文件 3.2.1. MODULE标记 3.2.2. FILE标记

3.3. SHAREPOINTPROJECTITEM.SPDATA 3.4. FEATURE配置 3.5. PACKAGE

5 7 7 8 12 14 16

4. 部署模块项 17

5. 使用模块项 19

1 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

1. 概述

在Visual Studio 2013中可以开发基于SharePoint 2013的项目,在开发SharePoint 2013项目中的项时,首先创建一个SharePoint 2013空项目,然后再在空项目下添加具体的项目项,这些项包括:可视Web部件、列表、事件接收器、模块等。

这里主要讲解”模块(Module)”项目项的开发,”模块项”主要用来在SharePoint网站上部署文件,只要能在IIS上运行的文件,都可以在”模块项”中包装并部署。

“模块项”中的文件部署主要是靠Elements.xml来进行的,每个文件都会在Elements.xml文件中配置在项目项中的路径和映射的访问路径。

2. 创建SharePoint空项目

在VS2013中开发SharePoint 2013项目时,如果要开发的是事件接收器、列表、内容类型、模块等项时。

首先要在VS2013中创建一个SharePoint 2013空白项目,然后在空白项目上添加新项。如图1所示:

2 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

图1

在图1中左侧选择“Visual C#”→”Office/SharePoint”→”SharePoint解决方案”,而右侧选择”SharePoint 2013 – 空项目“,并输入项目的名称为” YDModule “,点击”确定”按钮。如图2所示:

图2

在图2中输入用于调试本次开发项目的SharePoint网站的URL,然后选择解决

3 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

方案的信任级别,这里选择”部署为场解决方案“,此解决方案完全可以访问SharePoint平台中的资源。点击”完成“按钮,如图3所示:

图3 图3就是在VS2013中创建好的SharePoint 2013空白项目,空白项目中没有任何项,因此,在这之前可以规划此项目的应用程序集名称和默认命名空间的名称。在图3中右击” YDModule “项目名称,选择”属性“,如图4所示:

4 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

图4

在图4中可以修改程序集名称和默认命名空间,这样在创建的任何项目生成的类都会使用修改的默认命名空间。

3. 开发模块项

3.1. 添加模块项

在图3中右击” YDModule “,如图5所示:

图5

在图5中选择”添加”→”新建项”,如图6所示:

5 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

图6 图6中的所有项都是可以在SharePoint 2013中运行的自定义开发项,这里选择“模块”,并使用默认的名称“Module1”。点击“添加”按钮。如图7所示:

图7

在图7中就是VS2013生成的模块项文件,主要包括一个“Module1”文件夹和一个“Elements.xml”文件,还一个隐藏的文件“SharePointProjectItem.spdata”。

6 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

3.2. Elements.xml文件

Elements.xml文件是开发SharePoint”模块”项的主要文件,用于将实际的文件路径映射为部署到SharePoint中访问的文件路径。

创建好的“模块”项中的“Elements.xml”文件中默认的示例代码如下:

在此文件中,主要使用的就是标记下的标记。其中的两个属性Path和Url非常重要。

3.2.1. Module标记

此标记中的”Name”属性用于指定此Elements.xml文件作用于哪个Mouule项。在这里就是图8中的“Module1”项,如图8所示:

图8

如果将图8的“Module1”修改为“Module2”,那么在Elements.xml文件中就会

7 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

自动将修改为。如图9所示:

图9

如果需要修改图9解决方案资源管理器中的“Module2”项名称,一定要在”解决方案资源管理器“中修改,这样修改后会自动在Elements.xml文件中被修改,不容易出现错误。

一个SharePoint 2013空白项目中可以创建多个“模块”项。

3.2.2. File标记

标记是在标记下的子标记,标记中必须有两个属性,一个是Path,一个是Url。

3.2.2.1. Path属性

此属性是指定在VS2013解决方案资源管理器的”Module“文件夹下添加的文件的实际路径。

例如:在图9中,”Module2”文件夹下有一个” Sample.txt “文件,这是一个文本文件,那么在标记下,就要将” Sample.txt”文件的路径写在Path属性

8 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

中。如下代码:

Path中的路径使用的是相对路径,直接将模块的名称(Module2)作为根文件夹。在模块中还可以添加文件夹,如图10所示:

图10

在图10中的”Module2”模块名称上右击,在右键菜单中选择“添加”→“新建文件夹”,如图11所示:

9 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

图11

现在将一张图片复制到图11的“NewFolder1”文件夹下,如图12所示:

图12

从图12上看,当将图片复制到模块下的文件夹后,会自动在“Elements.xml”文件夹的标记下添加一个标记,并指定此图片的实际路径,代码如下:

此图片在VS2013解决方案资源管理器中实际路径就是:

10 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

Module2\\NewFolder1\\Image01.png

3.2.2.2. Url属性

标记下的Url属性是指将对应的Path属性中的实际文件路径映射到SharePoint网站中的文件URL。

在Path属性中使用的路径符号是“\\”,而在Url属性中使用的路径符号是“/”。 例如:图12中的:

这里两个标记中,都存在两个属性:Path和Url,两者存在一定的映射关系。Path属性中的值表示在VS2013解决方案中实际存在的文件路径,而Url则是将此VS2013解决方案部署到SharePoint 2013网站之后,可以供用户在浏览器中访问的URL。

对于Path中的路径值,则必须是正确的,在解决方案资源管理器中存在的,而Url中的路径是可以修改的。例如:

在此标记中,Path属性的值是不可修改的,否则该文件是无法正确获取到,而在Url中,可以将“Module2”修改为“Module22”,”Sample.txt”修改为”Sample22.txt“。如下:

11 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

这样在部署后,会自动将部署后的访问URL按照Url属性中的值部署。 另外,也可以在Url属性中指定SharePoint 2013中已经存在的文件夹,如: 1) _catalogs/wp:Web部件库。

2) _catalogs/solutions:用户解决方案库。 3) _catalogs/users:用户信息列表。

3.3. SharePointProjectItem.spdata

SharePointProjectItem.spdata文件是每个SharePoint项目都存在的隐藏文件,可以将其显示出来查看其中的内容。

显示此文件的方法是在VS2013解决方案资源管理器中,选中项目” YDModule “,然后点击工具栏中的”显示所有文件“。如图13所示:

图13

在图13中点击”显示所有文件“按钮,如图14所示:

12 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

图14

在图14中“SharePointProjectItem.spdata “文件已经显示出来了,双击它打开,其中的代码如下:

13 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

Target=\"Module2\\NewFolder1\\\" Type=\"ElementFile\" />

在此文件中,最主要的标记就是标记下的标记,每个就是要部署到SharePoint服务器上的文件,同进指定了文件的Source和Target。

并且还可以看到,Elements.xml文件也是通过SharePointProjectItem.spdata文件指定源和目标的。

3.4. Feature配置

当在VS2013的SharePoint 2013空项目中添加模块项后,会自动在”Features“文件夹下创建一个名称为”Feature1“的功能,如图15所示:

图15

14 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

并且还会在Feature1中将添加的项自动添加到”功能中的项“列表框中,表示使用此Feature可以将”模块“项部署到到SharePoint服务器上。

从图15的”Feature1.feature”配置页面可以看到,在此功能中包括了在模块中添加的所有文件和Elements.xml文件,这些都是部署模块项时必须的文件。 “模块项”默认的部署范围为“Web”,表示部署后的文件只能在指定的网站中激活使用。

在图15中还可以修改Feature的标题和说明信息,这样可以让用户看到该功能后明白其用途。这里修改后如图16所示:

图16

建议为每个Feature都指定标题和说明信息,这样在部署到SharePoint 2013服务器后,管理员可以在”网站设置“页面的”管理网站功能“页面中看到此Feature

15 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

的标题和说明信息,便于管理员了解此Feature的功能,是激活还是停用此功能。

3.5. Package

VS2013中的每个SharePoint 2013项目也都会存在一个”Package”的文件夹,此文件夹用于打包Feature的,因为每个SharePoint项目中可以存在多个Feature,所以可以在Package文件夹中有选择的去打包Feature。如图17所示:

图17

在图17中可以看到,新添加的Feature会自动被添加到“包中的项”,包中的Feature都是可以部署到SharePoint服务器上的,而不在包中的Feature是不会部署到SharePoint服务器上的,这也是SharePoint项目部署前最后的打包。

16 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

4.部署模块项

在VS2013中开发好的SharePoint 2013项目,可以直接使用VS2013的”部署“命令直接部署。如图18所示:

图18

在图18中点击”部署“,如图19所示:

17 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

图19

从图19的部署日志上看,使用VS2013部署后会自动将Feature激活。激活之后就可以直接在SharePoint 2013网站上使用模块部署的文件了。

打开此次SharePoint 2013模块项指定的调试网站的“网站设置”页面,如图20所示:

图20 在图20中点击“管理网站功能”链接,如图21所示:

图21

18 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

在图21中已经看到部署并激活的功能了,因为在VS2013中指定的调试网站就是图21的网站,所以部署后会自动将Package包中的所有Feature激活。 由于在图16中指定的部署范围为“Web”,那么在整个SharePoint 2013服务器场中,每个网站的“管理网站功能“页面中都有此功能,只是没有激活而已。如图22所示:

图22

图22是在另外一个子网站上打开的“管理网站功能“页面,其中我们部署的模块项就没有被激活。可以手动去激活,然后就可以在此网站中使用此功能了。

5. 使用模块项

开发好的模块项部署到SharePoint 2013服务器并在网站中激活之后,就可以

19 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

在SharePoint Designer 2013工具中查看。如图23所示:

图23 在图23中已经看到模块项中部署的两个文件了,一个是文本文件,一个是图片文件。它们在浏览器中的访问URL为: 1) 文本文件:

dev2013/WG/Module22/Sample22.txt 2) 图片文件:

dev2013/WG/Module2/NewFolder1/Image01.png

从URL上看,就是模块项所部署的网站URL+文件在模块项中指定的Url属性的值。

在这两个URL中,dev2013/WG/是一个子网站的URL,

Module22/Sample22.txt和Module2/NewFolder1/Image01.png就是在模块项的Elements.xml文件中的标记中的Url属性中指定的值。

20 / 21

一都编程

SharePoint Server开发模块(Module)项详细操作图文教程

在浏览器中得到的结果如图24所示:

图24 按照这样的方法,就可以在VS2013中开发SharePoint 2013项目时,使用模块项来部署指定的文件,包括VS2013中创建的应用程序页、母版页都是可以使用模块项来部署的。

21 / 21

一都编程

因篇幅问题不能全部显示,请点此查看更多更全内容