练习 1:创建一个SharePoint 2010项目
在第一个练习中,您将创建一个空白项目,并对所有项目通用的Visual Studio 2010 SharePoint Tools工具集功能领域进行侧重了解。您要做的大部分操作都集中在更改项目属性和项目主要功能的属性上。
- 在您开始后面的操作之前,需要运行SetupLab02.bat批处理文件,来新建一个用于测试和调试此次试验将要编写的程序代码的网站集,该文件位于c:\Student\Labs\02_VS2010_SPT\文件夹中。该批处理文件将在URL地址为http://moss.contoso.com/sites/Lab02的位置新建一个网站集。
- 启动Internet Explorer并导航到位于http://moss.contoso.com/sites/Lab02的顶级网站。您应该看到新建的空白网站。您将使用该网站来测试和调试在此次试验的各个练习中所开发的项目。
- 现在,右击开始菜单中的Microsoft Visual Studio 2010快捷方式,并单击以管理员身份运行选项,以管理员身份启动Microsoft Visual Studio 2010。通过以这种方式(用管理员权限)启动Visual Studio,可以在附加到SharePoint工作者进程时保持Visual Studio调试程序正常工作。
- 新建一个Visual Studio项目,并将其指定为空白SharePoint项目类型的SharePoint Tools项目。您会发现,该项目类型将采用Visual C# » SharePoint » 2010这一路经。确保已选中.NET Framework 3.5而非默认的.NET Framework 4.0。名称为ContosoWebParts。单击确定,以启动SharePoint 自定义向导。
- 当SharePoint 自定义向导提示您指定一个本地调试网站时,输入http://moss.contoso.com/sites/Lab02这一URL地址。将信任级别更改为部署为场解决方案,然后,单击完成。
- 当该新项目被创建之后,您应该看到它包含4个节点:Properties、References、Features 和
Package。其中,前两个节点是所有Visual Studio项目的标准节点,而Features节点和Package节点则特定于通过Visual Studio 2010 SharePoint
Tools所创建的项目。
- 右击默认的功能节点,即由SharePoint Tools添加的名为Features的节点,并单击添加功能。将默认添加的Feature1功能重命名为Main。
- 在功能设计器中打开Main功能。使用功能设计器将该功能的标题 和 说明更改为如下值:
标题: Custom Web Parts
说明: My very first project using the Visual Studio 2010 Tools
- 您还必须将Main功能的范围设置从默认值Web更改为Site。不必对此产生困惑。只要记住,将范围设置为Web,表示对当前功能实行网站级别的激活,而将范围设置为Site,则表示网站集级别的激活。由于Web部件的部署要求某个功能的作用域必须为整个网站集,以便正确部署Web部件的说明文件,因此,此处必须将范围设置为Site。
- 现在,您将向当前项目添加一些图片,以便这些图片被部署到SharePoint的Images文件夹中。要正确执行该操作,首先要向您的项目添加一个映射文件夹来作为SharePoint的Images文件夹。在解决方案资源管理器中,右击ContosoWebParts项目,展开添加菜单,并选择SharePoint的 "Images" 映射文件夹命令。
- 在完成上述步骤之后,您应该看到Images目录已存在于您的项目之中。您还应该在Images文件夹中看到一个与ContosoWebParts项目同名的子文件夹。这充分展现了SPT如何确保最顺畅的SharePoint开发过程。当向您的项目添加图片文件时,不要将其直接添加到Images文件夹中。而是要将这些图片添加到ContosoWebParts子文件夹中,从而避免这些图片的文件名与Microsoft部署在Images目录中的图片文件产生文件名冲突。
- 在C:\Student\Labs\02_VS2010_SPT\StarterFiles文件夹中包含2个GIF文件。这些文件分别名为FeatureIcon.gif和WebPartIcon.gif。右击Images文件夹中的ContosoWebParts文件夹,并选择添加» 现有项...命令。当显示结果对话框时,导航到包含这2个GIF文件的文件夹。将这2个GIF文件全部添加到当前项目。
- 您首先要使用的GIF文件为FeatureIcon.gif,将Main功能的Image Url属性更改为FeatureIcon.gif。
- 在功能设计器中打开Main功能,并确保该窗口处于活动状态。
- 在Main功能的属性列表中查找目标属性。
- 将图像Url属性更改为相对于Images的URL地址ContosoWebParts\FeatureIcon.gif。
- 将您对Main功能所做的设置进行保存。
在此次练习中,您已经利用SPT工具创建了第一个功能,并为当前项目添加了一个映射文件夹。接下来的练习中,您将向当前项目添加更多内容,以使其更具使用价值。
练习 2:创建、部署和测试Web部件
到目前为止,您已经拥有了一个名为ContosoWebParts的项目,接下来将向其添加一些Web部件。在后续的练习中,您将利用Web部件模板向当前项目添加1个新的SPI。请记住,Web部件模板只是许多SharePoint项目类型中的一种,它们包含在Visual Studio 2010 SharePoint Tools之中。
- 向ContosoWebParts项目添加一个名为HelloPart的新Web部件。
- 在解决方案资源管理器中,右击ContoWebParts项目,并选择添加» 新建项。
- 选择Web 部件项目模板,并将其命名为HelloPart。
- 查看HelloPart Web部件的SPI节点。您应该看到其中包含3个SPI文件,分别为Elements.xml、HelloPart.cs 和
HelloPart.webpart。
- 打开名为HelloPart.webpart的文件,并对其进行如下修改。
- 找到Title属性元素,并将其值更改为The "Hello" Web Part。
- 找到Description属性元素,并对其值进行更改。
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="ContosoWebParts.HelloPart.HelloPart,
$SharePoint.Project.AssemblyFullName$" />
<importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title" type="string">The "Hello" Web Part</property>
<property name="Description" type="string">A most compelling Web Part</property>
</properties>
</data>
</webPart>
</webParts>
- 除了Title 和 Description属性值之外,为HelloPart.webpart添加3个额外的Web部件属性,采用如下的名称/取值配对元素。
ChromeType: TitleAndBorder
CatalogIconImageUrl: _layouts/images/ContosoWebParts/WebPartIcon.gif
TitleIconImageUrl: _layouts/images/ContosoWebParts/WebPartIcon.gif
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="ContosoWebParts.HelloPart.HelloPart, $SharePoint.Project.AssemblyFullName$" /> <importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage>
</metaData>
<data>
<properties>
<property name="ChromeType" type="chrometype">TitleAndBorder</property>
<property name="Title" type="string">The "Hello" Web Part</property>
<property name="Description" type="string">The mother of all other Web Parts.</property>
<property name="CatalogIconImageUrl" type="string">_layouts/images/ContosoWebParts/WebPartIcon.gif</property>
<property name="TitleIconImageUrl" type="string">_layouts/images/ContosoWebParts/WebPartIcon.gif</property>
</properties>
</data>
</webPart>
</webParts> - 打开elements.xml Web部件,并对其进行如下修改。
- 通过修改File元素的URL属性,来更改.webpart文件名,以确保其唯一性。将"ContosoWebPart_"文本值追加到URL属性值的开始处。
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
<Module Name="HelloPart" List="113" Url="_catalogs/wp">
<File Path="HelloPart\HelloPart.webpart"
Url="ContosoWebPart_HelloPart.webpart"
Type="GhostableInLibrary">
<Property Name="Group" Value="Custom" />
</File>
</Module>
</Elements> - 将Group属性值更改为"Contoso Web Part"。
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
<Module Name="HelloPart" List="113" Url="_catalogs/wp">
<File Path="HelloPart\HelloPart.webpart"
Url="ContosoWebPart_HelloPart.webpart"
Type="GhostableInLibrary">
<Property Name="Group" Value="Contoso Web Parts" />
</File>
</Module>
</Elements>
- 通过修改File元素的URL属性,来更改.webpart文件名,以确保其唯一性。将"ContosoWebPart_"文本值追加到URL属性值的开始处。
- 打开名为HelloPart.cs的C#源文件。编写如下初始代码,以便为实现Web部件类做好准备。
namespace ContosoWebParts.HelloPart {
public class HelloPart : WebPart {
protected Label lblOutput;
protected override void CreateChildControls() {
lblOutput = new Label();
lblOutput.Text = "Hello Web Part";
Controls.Add(lblOutput);
}
}
} - 对ContosoWebParts项目进行生成,并确保没有任何编译错误。如果在执行生成命令时出现错误,查找并修复这些错误,直至无误地完成执行生成命令。
- 执行部署命令,以便对ContosoWebParts项目的解决方案包进行压缩和部署。
- 在浏览器中,导航到位于http://moss.contoso.com/sites/lab02的测试网站,并通过如下操作步骤来完成激活过程。
- 单击网站操作» 网站设置,以导航到网站设置页面。
- 在网站设置页面的网站集管理区域中,单击网站集功能链接,以导航到网站集管理>功能页面。
- 找到Contoso Web Parts,并将其激活。如果已处于活动状态,则先将其停用,并再次将其激活。需要注意的是,功能激活过程实际上是将.webpart文件提交到Web 部件库之中,以便允许您对工作成果进行测试。
- 现在,将把您刚刚创建的用于测试的Web部件实例添加到Web 部件页。导航到default.aspx主页。当前页面顶部的功能区包含一个标题为页面的选项卡。单击页面选项卡,并点击编辑页面按钮,以便让您进入用于为当前页面添加、修改和删除Web部件的编辑模式。确保左栏Web部件区域已被选择(被选择的区域由深蓝边框表示),以便让页面工具上下文选项卡显示出来。单击功能区中的插入选项卡,并单击Web 部件按钮,如下图所示。
- 此时,您应该看到用于向页面添加新Web部件的全新SharePoint 2010用户界面。您应该看明白Web部件的分类方式,例如列表和库and Libraries、社会协作
和 内容汇总。您还应该看到一个新的名为Contoso Web Parts的自定义类别,这是您曾在elements.xml文件中编辑Group属性时所创建的。当您在左侧区域中选择Contoso Web Parts类别时,您应该看到已添加到HelloPart.webpart的Web部件出现在右侧区域,并带有The "Hello" Web Part标题。当您选择The "Hello" Web Part时,确保右下方的下拉列表框已被设置为Left
Web部件区域(如下所示),然后,单击Add按钮,将该Web部件添加到当前页面。
- 此时,您已经完成了创建、部署和测试Web部件的所有必要操作。该测试Web部件实例应该如下所示。
在此次练习中,您已经创建了一个Web部件,并将其添加到您的项目中,又将您的项目添加到示例SharePoint网站中。
相关文件下载02_VS2010_SPT.zip
参考资料: