如何:使用解决方案包部署运行状况规则

上次修改时间: 2011年11月15日

适用范围: SharePoint Foundation 2010

在开发环境中,部署新的运行状况规则非常简单直接。可以通过使用全局程序集缓存工具 (Gacutil.exe) 将程序集放到开发服务器的全局程序集缓存 (GAC) 中,来手动安装包含规则的程序集。如果已经创建了用于将规则注册到 SharePoint 运行状况分析器 的 SharePoint 功能,则可以通过使用 SharePoint Management Shell 运行 Windows Powershell cmdlet Install-SPFeature 来手动安装该功能。可以使用以下 Windows Powershell cmdlet 激活该功能并注册规则:Enable-SPFeature。

在生产环境中,手动过程并不可行,因为在此环境中,服务器场可能包含多台服务器,并且随着时间的推移可能会有更多的服务器联机。在生产环境中,最佳方法是使用解决方案包。可以上载一次解决方案包,然后该解决方案将在服务器场中的所有服务器之间传播。当有新的服务器联机时,它们会在设置过程中自动获得该解决方案。

本主题介绍如何创建包含运行状况规则的解决方案包,以及如何将解决方案上载和部署到服务器场。本主题假设您已完成了如何:创建运行状况规则如何:创建用于注册运行状况规则的功能中所述的过程。

创建解决方案包

解决方案包是一个文件扩展名为 .wsp 的 CAB 文件,其中包含必须部署到服务器场中的服务器上的所有文件。因为我们要使用解决方案包来部署运行状况规则,所以该包将安装两个文件:feature.xml 和规则的程序集。每个解决方案包都还必须包含一个名为 manifest.xml 的文件,该文件包含用于安装解决方案的指令。

创建解决方案包的第一步是创建 manifest.xml。第二步是创建 Diamond Directive File (.ddf),以指示 MAKECAB.EXE 命令行实用程序在输出 CAB 文件中包含哪些文件。最后一步是使用 MAKECAB.EXE 编译 CAB 文件。

为解决方案包创建清单

  1. 右键单击"开始"菜单中的 Visual Studio,然后选择"以管理员身份运行",以管理员身份打开该程序。

  2. 打开包含运行状况规则代码的项目。

  3. 创建一个 Solution 文件夹。

    在"解决方案资源管理器"中,右键单击项目名称,选择"添加",然后选择"新建文件夹"。键入 Solution。

  4. 创建解决方案清单文件。

    右键单击"Solution"文件夹,选择"添加",然后选择"新建项目..."。在"添加新项"对话框中,选择"XML 文件"模板。将文件命名为 manifest.xml。然后单击"添加"。

  5. 在编辑器中打开 manifest.xml。

  6. 删除该文件中的第一(唯一)行。在该行的位置,粘贴以下代码。

    <Solution SolutionId="00000000-0000-0000-0000-000000000000"
              xmlns="https://schemas.microsoft.com/sharepoint/">
      <FeatureManifests>
        <FeatureManifest Location="FeatureFolderName\feature.xml" />
      </FeatureManifests>
      <Assemblies>
        <Assembly DeploymentTarget="GlobalAssemblyCache"
                  Location="AssemblyName.dll" />
      </Assemblies>
    </Solution>
    
  7. 将 SolutionId 属性的值替换为新生成的 GUID(不带括号)。

    可以使用 GuidGen 工具 (guidgen.exe) 来获得新 GUID。在 Visual Studio 中的"工具"菜单上,选择"创建 GUID"。在"创建 GUID"对话框中,选择"4. 注册表格式",然后单击"复制"。将剪贴板的内容粘贴到 SolutionId 属性后面的引号之间。删除 GUID 中的括号。

  8. 修改 FeatureManifest 元素的 Location 属性的值,将"FeatureFolderName"替换为解决方案中包含 feature.xml 文件的文件夹的名称。

    在部署解决方案时,会在服务器场中的每台服务器的 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES 文件夹中创建一个同名文件夹。

  9. 修改 Assembly 元素的 Location 属性的值,将"AssemblyName.dll"替换为规则程序集的文件名。

  10. 保存 manifest.xml。

为解决方案包创建指令文件

  1. 在 Visual Studio 项目中创建一个程序包文件夹。

    在"解决方案资源管理器"中,右键单击项目名称,选择"添加",再选择"新建文件夹"。键入 Package。

    这是 MAKECAB.EXE 命令行实用程序的输出目录。

  2. 在 Visual Studio 项目的"Solution"文件夹中创建一个 Diamond Directive File (.ddf) 文件。

    在"解决方案资源管理器"中,右键单击名为"Solution"的文件夹,选择"添加",再选择"新建项目..."。在"添加新项"对话框中,选择"文本文件"模板。将该文件命名为 cab.ddf。然后单击"添加"。

    该文件将用于 MAKECAB.EXE 命令行实用程序。

  3. 在编辑器中打开 cab.ddf。复制以下标记并将其粘贴到 cab.ddf 文件中。

    .OPTION EXPLICIT     ; Generate errors 
    .Set CabinetNameTemplate=SolutionName.wsp
    .set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory.
    .Set CompressionType=MSZIP;** All files are compressed in cabinet files.
    .Set UniqueFiles="ON"
    .Set Cabinet=on
    .Set DiskDirectory1=Package ; This is the output directory.
    
    ; Files to include.
    Solution\manifest.xml manifest.xml
    Features\FeatureFolderName\feature.xml FeatureFolderName\feature.xml
    bin\Release\AssemblyName.dll AssemblyName.dll
    
  4. 修改 CabinetNameTemplate 参数的值,将"SolutionName"替换为要用于解决方案包的文件名。(保留 .wsp 文件扩展名。)

  5. 将"FeatureFolderName"(出现两次)替换为解决方案中包含 feature.xml 文件的文件夹的名称。

  6. 将"AssemblyName.dll"(出现两次)替换为规则程序集的文件名。此外,如果程序集的相对路径不是"bin\Release\",则将该字符串替换为正确的路径。

  7. 保存 cab.ddf。

创建解决方案包文件

  1. 打开 Visual Studio 命令提示符。

  2. 导航到 Visual Studio 项目所在的目录。

    cab.ddf 中和下一步将发出的命令中的文件路径是相对于 Visual Studio 项目目录的路径。

  3. 在命令提示符处,发出以下命令:

    makecab /f solution\cab.ddf
    

    将在"Package"文件夹中创建一个解决方案包。

上载和部署解决方案

创建新的解决方案包后,应在 SharePoint 安装上测试该解决方案包,最好在干净的映像上测试,而不要在开发服务器上测试。测试涉及两项任务:首先,必须将解决方案包上载到服务器场。然后,必须部署该解决方案。

备注

您的解决方案包含一个作用范围为服务器场级别的功能。由于服务器场级别的功能在安装时会自动激活,因此您不必发出命令来手动激活它。

将解决方案包上载并部署到服务器场

  1. 通过右键单击"开始"/"管理工具"菜单上的项并选择"以管理员身份运行",以管理员身份打开 SharePoint Management Shell。

  2. 在命令提示符处,发出以下命令以上载该解决方案。(替换解决方案包的完整路径和文件名。)

    add-spsolution -literalpath <full path and filename.wsp>
    

    解决方案包现在将上载到服务器场。

  3. 在命令提示符处,发出以下命令以部署该解决方案。(替换 .wsp 文件的正确文件名。)

    install-spsolution -identity filename.wsp -force -gacdeployment
    

您的运行状况规则现在已安装并注册。可以通过检查"管理中心"的"监控"部分的"运行状况分析器规则"列表来验证这一点。

请参阅

任务

如何:创建运行状况规则

如何:创建用于注册运行状况规则的功能

概念

手动创建解决方案

其他资源

https://msdn.microsoft.com/zh-cn/library/cc441431(v=office.14)