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”文件中默认的示例代码如下:
在此文件中,主要使用的就是 3.2.1. Module标记 此标记中的”Name”属性用于指定此Elements.xml文件作用于哪个Mouule项。在这里就是图8中的“Module1”项,如图8所示: 图8 如果将图8的“Module1”修改为“Module2”,那么在Elements.xml文件中就会 7 / 21 一都编程 SharePoint Server开发模块(Module)项详细操作图文教程 自动将 图9 如果需要修改图9解决方案资源管理器中的“Module2”项名称,一定要在”解决方案资源管理器“中修改,这样修改后会自动在Elements.xml文件中被修改,不容易出现错误。 一个SharePoint 2013空白项目中可以创建多个“模块”项。 3.2.2. File标记 3.2.2.1. Path属性 此属性是指定在VS2013解决方案资源管理器的”Module“文件夹下添加的文件的实际路径。 例如:在图9中,”Module2”文件夹下有一个” Sample.txt “文件,这是一个文本文件,那么在 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”文件夹的 10 / 21 一都编程 SharePoint Server开发模块(Module)项详细操作图文教程 Module2\\NewFolder1\\Image01.png 3.2.2.2. Url属性 在Path属性中使用的路径符号是“\\”,而在Url属性中使用的路径符号是“/”。 例如:图12中的: 这里两个 对于Path中的路径值,则必须是正确的,在解决方案资源管理器中存在的,而Url中的路径是可以修改的。例如: 在此标记中,Path属性的值是不可修改的,否则该文件是无法正确获取到,而在Url中,可以将“Module2”修改为“Module22”,”Sample.txt”修改为”Sample22.txt“。如下: 11 / 21 一都编程 SharePoint Server开发模块(Module)项详细操作图文教程 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 “文件已经显示出来了,双击它打开,其中的代码如下: 一都编程 SharePoint Server开发模块(Module)项详细操作图文教程 Target=\"Module2\\NewFolder1\\\" Type=\"ElementFile\" /> 在此文件中,最主要的标记就是 并且还可以看到,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文件中的 20 / 21 一都编程 SharePoint Server开发模块(Module)项详细操作图文教程 在浏览器中得到的结果如图24所示: 图24 按照这样的方法,就可以在VS2013中开发SharePoint 2013项目时,使用模块项来部署指定的文件,包括VS2013中创建的应用程序页、母版页都是可以使用模块项来部署的。 21 / 21 一都编程 因篇幅问题不能全部显示,请点此查看更多更全内容