SharePoint 工作流解决方案疑难解答

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • SharePoint 工作流

Microsoft Office 版本

  • SharePoint Server 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

当您使用 Visual Studio Tools for Office 开发 SharePoint 工作流解决方案时,可能会出现下列问题。

执行在断点处停止两次

如果更改工作流的显示名称,则可能出现此问题。启动 Visual Studio 调试器时,工作流部署过程会在工作流程序集与库之间或者与列表之间创建新的关联。

在更改显示名称之前已存在的关联仍然存在于 SharePoint 网站中。由于两个关联都引用同一工作流 ID,因此工作流程序集会执行两次。

若要解决此问题,请从 SharePoint 中的库或列表中手动移除旧的关联。有关从库或列表中手动移除工作流关联的更多信息,请参见 Office Online 文章为列表、库或内容类型添加或更改工作流

有关更多信息,请参见调试 SharePoint 工作流解决方案

SharePoint 工作流项目显示说明需要管理员访问权限的消息

如果您未以管理员身份登录到开发计算机并尝试执行以下任何任务,则会出现此问题:

  • 使用“新建 Office SharePoint 工作流”向导创建新项目。

  • 使用“新建 Office SharePoint 工作流”向导修改现有项目。

  • 使用 Visual Studio 调试器调试 SharePoint 工作流项目。

错误消息

必须以管理员身份登录,才能处理 SharePoint 工作流项目。

解决办法

使用 Administrators 组的成员帐户登录到开发计算机。

调试

当使用 Visual Studio 调试器调试 SharePoint 工作流模板时,可能会出现以下问题。有关更多信息,请参见调试 SharePoint 工作流解决方案

站点位置无效

如果未安装 SharePoint Server 2007,则会出现此问题。如果对“新建 Office SharePoint 工作流”向导中指定的 SharePoint Server 网站不具有管理员访问权限,也可能出现此问题。

错误消息

  • SharePoint 站点位置无效。

解决办法

  • 安装 Microsoft Office SharePoint Server 2007。

  • 确保您对 SharePoint 网站具有管理员访问权限。有关更多信息,请参见 Office Online 文章授予对门户网站的访问权限

无法创建目标目录或定位目标目录路径

如果工作流部署过程无法创建功能目录,则可能出现此问题。

错误消息

  • 无法创建此文件的目标目录: <文件>。

  • 无法定位 feature.xml 部署目标路径。

  • 无法定位 workflow.xml 部署目标路径。

  • 无法为部署确定 workflow.xml 目标路径。

解决办法

修复 SharePoint Server 2007 安装。注册表中丢失了一个注册表项。工作流部署过程使用该项来确定应在何处创建功能目录。该项在安装 SharePoint Server 2007 时添加到注册表中。有关更多信息,请参见使用功能

无法定位或复制文件

如果工作流部署过程无法将功能目标文件和工作流目标文件复制到 SharePoint 功能目录,则会出现此问题。这些文件可能已重命名或从项目中删除。

错误消息

  • 找不到 <路径> 处的文件。

  • 无法将 <文件> 复制到 <路径>。

  • 找不到此文件: <文件>。

  • 在项目中找不到 feature.xml。

  • 在项目中找不到 workflow.xml。

  • 无法将 workflow.xml 文件复制到 <路径>。

解决办法

  • 请确保功能和工作流定义文件出现在“解决方案资源管理器”中的项目节点下面。功能定义文件必须命名为 feature.xml。工作流定义文件必须命名为 workflow.xml。若要替换丢失的文件,请执行以下步骤:

    1. 创建一个新的 SharePoint 工作流项目。

    2. 将 feature.xml 或 workflow.xml 文件从新项目中复制到丢失文件的项目中。

    3. 在新的 feature.xml 文件中,修改 Feature 元素的 Title 和 Description 属性。

    4. 在新的 workflow.xml 文件中,修改 Name、Description、CodeBesideClass 和 CodeBesideAssembly 属性。

有关功能定义文件的更多信息,请参见 Feature.xml 文件。有关工作流定义文件的更多信息,请参见工作流定义架构

程序集无法安装到全局程序集缓存中

错误消息

  • 此生成位置中找不到程序集: <路径>。

  • .NET Framework 安装不正确。

  • 请确保已对程序集进行签名。

解决办法

若要解决这些问题,请尝试以下方法:

  • 确保成功生成程序集,并且在项目的生成输出位置创建了工作流程序集。

  • 确保已正确安装 .NET Framework。

  • 执行下列三个步骤,以确保程序集已签名:

    1. 确保项目包含一个名为“key.snk”的强名称密钥文件。

    2. 在“解决方案资源管理器”中,右击项目节点,然后单击“属性”。单击“签名”选项卡,然后确保选中“为程序集签名”。

    3. 打开 workflow.xml 并验证 CodeBesideAssembly 属性包含有效的公钥标记。

您还可以手动对程序集进行签名。为此,请执行以下步骤:

  1. 创建一个新的强名称密钥文件,并将该文件命名为“key.snk”。有关更多信息,请参见如何:对程序集进行签名 (Visual Studio)

  2. 为工作流程序集创建一个公钥和私钥对。有关更多信息,请参见如何:创建公钥/私钥对

  3. 在 workflow.xml 文件中,将所创建的公钥添加到 CodeBesideAssembly 属性字符串。

无法重新启动 Internet 信息服务 (IIS)。

工作流部署过程必须重新启动 IIS 才能将 Visual Studio 调试器附加到 Windows SharePoint Services 过程 (w3wp.exe)。

错误消息

  • 找不到 Windows 服务管理器。

  • 找不到 W3SVC 服务。

  • 无法查询 W3SVC 服务的状态。

  • IIS 未启动。

  • 无法停止 IIS。

解决办法

确保计算机上已安装 IIS 并且“万维网发布服务”已启动。有关如何安装 IIS 的更多信息,请参见安装 IIS。有关启动服务的更多信息,请参见如何:启动服务

无法安装工作流模板

如果工作流部署过程无法激活 SharePoint Server 网站中的功能,则可能出现此问题。

错误消息

  • 该功能 ID 在 feature.xml 文件中无效: <文件名>。

解决办法

  • 打开 feature.xml 文件并验证 Feature 元素的 Id 属性包含有效的 GUID。有关 GUID 的格式的更多信息,请参见 GUID

若要生成新的 GUID,请使用 guidgen.exe。有关更多信息,请参见 GUIDGEN 示例:生成全局唯一标识符 (GUID)

Feature.xml 或 workflow.xml 无效

如果工作流部署过程无法分析功能或工作流定义文件,则会出现此问题。

错误消息

  • feature.xml 无效。

  • workflow.xml 无效。

解决办法

  • 确保 feature.xml 和 workflow.xml 文件的格式正确。有关格式良好的 XML 的信息,请参见 XML 词汇表

  • 确保属性设置为有效值。更正任何无效值。如果仍然收到错误,请重新启动 Visual Studio。

  • 确保元素的名称未被更改。更正任何无效的元素名称。如果仍然收到错误,请重新启动 Visual Studio。

无法将工作流与 SharePoint 中的库或列表相关联

如果工作流部署过程无法将工作流模板自动添加到“目标站点”项目属性指定的库或列表中,则会出现此问题。

错误消息

  • 无法找到 GUID 为 <GUID> 的工作流模板。

  • 找不到 SharePoint 列表: <列表名称>。

  • 在 Workflow.xml 文件中指定的工作流 ID 的格式不正确。

解决办法

  • 打开 workflow.xml 文件并验证 Workflow 元素的 Id 属性包含有效的 GUID。有关 GUID 的格式的更多信息,请参见 GUID。若要生成新的 GUID,请使用 guidgen.exe。有关更多信息,请参见 GUIDGEN 示例:生成全局唯一标识符 (GUID)

  • 在“属性”窗口中,验证“目标列表”字段所指定的库或列表是 SharePoint 网站上有效的库或列表。

  • 检查 SharePoint 诊断日志文件。这些日志文件的默认位置是“驱动器:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS”。如果在此位置找不到这些日志文件,请参考 SharePoint 管理中心工具中的诊断日志设置。有关更多信息,请参见有关 Office SharePoint Server 2007 的文档。

找不到 SharePoint 站点或 SharePoint Server 实例

如果工作流部署过程无法打开 SharePoint 站点,则可能出现此问题。

错误消息

  • SharePoint Server 不可用。

  • 找不到 SharePoint Server 实例。

  • 找不到指定的 SharePoint 站点: <站点 URL>。

解决办法

  • 确保 SharePoint Server 正在运行。

  • 在“属性”窗口中,确保“目标站点”字段中指定的站点是有效的 SharePoint 站点。

  • 检查 SharePoint 诊断日志文件。这些日志文件的默认位置是“驱动器:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS”。如果在此位置找不到这些日志文件,请参考 SharePoint 管理中心工具中的诊断日志设置。有关更多信息,请参见有关 Office SharePoint Server 2007 的文档。

有关更多信息,请参见 Office Online 文章常见网站问题疑难解答

保存项目之前,Visual Studio 不打开 SharePoint 站点

如果您创建了一个临时项目,然后启动 Visual Studio 调试器,则可能出现此问题。临时项目是指无需指定磁盘位置即可创建的项目。有关更多信息,请参见临时项目

错误消息

  • 添加项目前必须保存当前项目。

解决办法

启动 vsprvs 调试器之前,执行下列步骤之一:

请参见

任务

如何:在调试 SharePoint 解决方案时包括帮助器文件

SharePoint 顺序工作流示例

演练:创建和调试 SharePoint 工作流解决方案

如何:创建 SharePoint 工作流项目

概念

SharePoint 工作流解决方案

调试 SharePoint 工作流解决方案

其他资源

Office 解决方案的疑难解答