Team Foundation Server 和 Project Server 集成支持的已知问题和解决方法

本主题介绍已知问题。在 Visual Studio Team Foundation Server 2012 与 Microsoft Project Server 之间的集成。 若要支持此集成,您应在 project server 的应用层必须安装 project server 的 Team Foundation Server 扩展。 有关更多信息,请参见支持 Team Foundation Server 和 Project Server 集成的系统要求和安装要求

可以通过执行建议的操作解决大多数问题。

备注

有关更多信息,请参见 Microsoft 网站上的以下论坛文章:Team Foundation Server and Project Server Integration(Team Foundation Server 和 Project Server 集成)。

主题内容

  • 含有映射子任务的摘要任务未在项目计划中更新

  • "剩余工作"字段必须为空

  • 解决特定错误条件

  • 资源名称不能包含特殊字符

  • “工作项类型”字段列出所有工作项类型

  • 管理命令的错误消息不能标识缺少的权限

  • 定义指定 Null 或空字段值的查询

  • 更改映射的企业项目计划的名称需要刷新映射的团队项目

  • 在高负荷环境下可能会报告多个错误和死锁条件

  • 网络负载平衡配置出现访问被拒绝问题

  • 在主项目打开时更新子项目可能会导致发生多个错误

含有映射子任务的摘要任务未在项目计划中更新

按照设计,Team Foundation Server (tfs) 不更新摘要任务的,也就是说,具有子任务映射的工作方式是 TFS 中的任务项字段。 同步过程会跳过摘要任务的更新,因为项目计划将计算摘要任务上的工作。 对非工作字段(如标题)的更改也未针对摘要任务进行更新。 此行为是两个服务器产品的集成的已知限制。

返回页首

"剩余工作"字段必须为空

在更新状态。TFS 设置执行或移除项时的任务,可能会收到以下验证错误消息:

字段的“剩余工作”值必须为空。

此消息意味着 <EMPTY /> 工作流语句从团队项目的任务类型定义未被移除。 而 TFS 希望字段包含空值时,项目将字段设置为 0。 若要解决此问题,请参见 进行映射到从 scrum 中创建的团队项目时所需更改的过程模板

解决特定错误条件

下表提供了集成两个服务器产品时可能发生的特定错误的纠正操作:

错误条件

解决方法

TF80070:Team Foundation 在执行操作时遇到错误。 建议您保存工作,然后重新启动该应用程序。

如果您指定大于 Project Server 允许的数字,则可能会出现此错误。 不能指定晚于 12/31/2049 的日期或大于 100,000,000,000,000(10 的 14 次幂)的数值。 Project Server 规定了对 DateTime 和 Integer 字段的这些限制。

要解决此错误条件,请修改超出特定限制的字段。

TF244069:检查 PWA 实例的报告数据库架构的设置状态时出错。Project Server 返回下列错误:“TF289004: An error occurred while communicating with Project Server. Contact your Project Server administrator.”(TF289004:与 Project Server 通信时发生错误。请联系您的 Project Server 管理员。)

必须为该应用程序池使用的帐户设置承载 Project Server 的 Web 应用程序的权限。 将此帐户设置为 Project Server 报告数据库的 db_owner。 有关更多信息,请参见分配权限以支持 Project Server 和 Team Foundation Server 集成

此外,必须设置 PWA 实例。经典模式身份验证,而不是 基于声明的身份验证。 如果它设置为 基于声明的身份验证,不能注册 PWA 实例。

TF244069:检查 PWA 实例的报告数据库架构的设置状态时出错。Project Server 返回下列错误:“Server was unable to process request. -对符号的无效时使用 failed with HTTP status 502:proxy error (数据记录不可用。)”。

对于出现错误的 Project Web Access 或 Project Web App (PWA) 实例,需要更改 web.config 文件中默认代理的 autoDetect 特性的设置。 可以在以下位置找到 web.config 文件:驱动器:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config。 将下列元素标记添加到 <system. net> 部分:

<defaultProxy>
   <proxy autoDetect="false" />
</defaultProxy>

TF244069:检查 PWA 实例的报告数据库架构的设置状态时出错。Project Server 返回下列错误:“TF289004: An error occurred while communicating with Project Server. Contact your Project Server administrator.”(TF289004:与 Project Server 通信时发生错误。请联系您的 Project Server 管理员。)

验证是否正确设置了权限。 必须为该应用程序池使用的帐户设置承载 Project Server 报告数据库的 Web 应用程序的权限。 授予该帐户报告数据库的 db_owner 权限。 有关更多信息,请参见分配权限以支持 Project Server 和 Team Foundation Server 集成

TF244079:检索共享服务的 URL 时出错。

必须安装支持 Project Server 2010 所需的两个更新。安装这两个更新后,您必须运行 SharePoint 配置向导。 有关更多信息,请参见支持 Team Foundation Server 和 Project Server 集成的系统要求和安装要求

TF244087:在承载 project server 的计算机必须安装 project server 的 Microsoft Team Foundation Server 扩展。 请参见 如何:将 Project Server 添加到 Team Foundation Server

必须在下列计算机上安装 project server 的 Team Foundation Server 扩展:

  • 对于 project server 2007:将参与和同步数据的 Team Foundation Server的每个应用层服务器。

  • 对于 Project Server 2010:将参与和 Team Foundation Server 同步数据的每个 Web 层和应用层服务器。

有关更多信息,请参见支持 Team Foundation Server 和 Project Server 集成的系统要求和安装要求

TF208104: 您已修改可能已由其他进程(如 Project Server)锁定的一个或多个分层链接关系。

已发布您对各个工作项所做的更改。 已自动更正对锁定的链接进行的更改。

在 Excel 中对已同步并且其任务层次结构已锁定的工作项的分层链接关系进行更改时,可能会发生此错误 (链接被锁定)。 此消息指示对字段进行的更改已发布,但是对链接层次结构进行的所有更改都未发布(无论链接是已锁定还是未锁定)。 树层次结构会自动恢复至其原始结构。 有关更多信息,请参见Addressing Error TF208104: Hierarchical Link Relationship Is Locked

TF285019:无法提交用户“{0}”的请求。 请与 Project Server 管理员联系,以验证是否已将 Project Server 权限授予同步引擎所使用的服务帐户。

在创建或更新一个工作项后,当同步引擎尝试将其提交至 Project Server 时,此错误将显示在其“历史记录”字段中。 要解决此错误,必须为运行同步引擎的服务帐户提供更多权限。 对于 Project Server 2007,必须提供访问共享服务提供程序 (SSP) 的权限。 对于 Project Server 2010,必须提供完全控制权限来调用 Project Server 服务应用程序以供 SharePoint Web 应用程序使用。 有关更多信息,请参见分配权限以支持 Project Server 和 Team Foundation Server 集成

TF287030:尝试同步 ID 为 TaskID 的任务时返回错误。 错误为“TF287035: Cannot find the following work item types for team project 'Project': . 可能已删除或重命名这些工作项类型。 The administrator for Team Foundation Server should restore the named work item type for the mapped team project, or the project manager should update the project plan with the name of the new work item type.”(TF287035:找不到团队项目“Project”的下列工作项类型。这些工作项类型可能已被删除或重命名。Team Foundation Server 管理员应还原映射的团队项目的已命名工作项,否则项目经理应使用新工作项类型的名称更新项目计划。)。 请与 Team Foundation Server 管理员联系,以验证是否已分配执行此操作所需的权限,以及工作项类型和团队项目是否存在。

验证所有项目经理已安装 Visual Studio 2012。

如果将 Project Server 设置为需要安全套接字层 (SSL) 证书,应确保正确配置了支持参与数据同步的 PWA 实例的 SharePoint Web 应用程序的 SSL。 有关更多信息,请参见为 Team Foundation Server 设置 HTTPS 和安全套接字层 (SSL)

TF291011:将不支持的字段类型“{0}”分配给了 Project Server 字段:“{1}”。

将 Team Foundation 中的字段映射至 Project Server 中的字段时,这些字段的数据类型必须符合字段映射标准。 有关更多信息,请参见Data Types and Field Mapping Criteria

TF294003:无法访问下列 PWA 实例:pwaUrl。 Project Server 返回下列错误:“The request failed with HTTP status 401: Unauthorized.”(请求失败,HTTP 状态 401:未经授权。)。验证 PWA 实例是否存在,所需权限是否已授予给团队项目集合的服务帐户以访问 PWA。

必须向 Team Foundation Server 服务帐户授予访问 PWA 实例的权限。 有关更多信息,请参见Permissions Required to Configure Integration and Support Data Synchronization

TF294026:下列工作项字段不存在:Microsoft.VSTS.Scheduling.CompletedWork。 请与 Team Foundation Server 管理员联系,以添加此工作项字段。

在下列条件下,可能会出现此错误:

  • 尝试上载默认值字段映射至仅包含团队项目从 Visual Studio scrum 过程模板创建的团队项目集合。 此模板在 Team Foundation 不包含字段 已完成工作初始估计 字段。 必须映射这些字段。

    可通过下载默认字段映射的内容、删除不支持的映射,然后上载经过修改的字段映射来解决此问题。 有关更多信息,请参见 进行映射到从 scrum 中创建的团队项目时所需更改的过程模板

TF400651:,因为它是 SharePoint 任务列表项,Team Foundation server 不能与集成以下项:{0}。 请将该项目转换为一个企业项目或选择其他项目。

出现此消息配置的项目计划,当 SharePoint 任务列表项。 若要解决此问题,请参见 更改 SharePoint 任务列表到企业项目

返回页首

资源名称不能包含特殊字符

在同步 Active Directory 和 project server 之间时,用户名几个字符,如方括号或尖括号),会导致问题。 有关更多信息,请参见 Microsoft 网站上的以下页面:在 Project Server 2007 中管理 Active Directory 同步

返回页首

工作项类型字段列出所有工作项类型

Text30 是与用于同步任务和工作项的**“工作项类型”列相关联的默认 Project 字段。 如果使用“团队”功能区菜单上的“选择团队项目”选项将项目计划连接到 Team Foundation Server,则另外一个标为“工作项类型”的 Project 字段将变得可用。 该字段的默认 Project 字段为 Text24,支持对绑定到 Team Foundation 的项目计划进行映射,但是不支持计划同步。 基于 Text24 的字段包含团队项目的完整工作项类型列表。 通过指向字段并验证是否显示了“Text30”**,可以验证字段是否正确。

返回页首

管理命令的错误消息不识别这种缺少权限

运行 TfsAdmin 命令行工具时,可能出现以下错误消息:

请求失败,HTTP 状态 401: 未经授权。

该消息未指明哪个服务器上需要哪个权限。 您必须查看尝试运行的特定命令所需的权限。 有关更多信息,请参见分配权限以支持 Project Server 和 Team Foundation Server 集成

返回页首

定义指定空或 null 的字段值的查询

可以通过创建未定义**“值”**的工作项查询,以便在 Team Foundation 中查找未定义的工作项字段。 映射的相应 Project Server 字段可能包含值 0。 例如,可以在查询中指定以下子句来排除包含未定义的工作或零工作的工作项:

  • And 已完成工作 <>(不定义 Value)

  • Or Project Server 已完成工作 <> 0

  • And 剩余工作 < >(不定义 Value)

  • Or Project Server 剩余工作 <> 0

有关更多信息,请参见Monitoring Work Item Submissions and Resolving Conflicts and Rejections

返回页首

更改映射的企业项目计划的名称需要刷新映射的团队项目

如果您使用其他名称保存映射的企业项目,然后将该项目发布到 Project Server,则必须刷新映射的团队项目。 否则,新名称将不会出现在**“Project Server”选项卡上的“企业项目”**字段中。 有关更多信息,请参见刷新 Team Foundation Client

返回页首

多个错误和死锁条件可能在焦点情况下报告

在特定负载条件下,可能会在 Windows 事件日志中以及同步消息中报告多个错误和死锁问题。 例如,如果多个团队项目集合映射到一个 PWA 实例,则可能会出现这些消息。 无需任何用户操作。

可能会出现以下类型的错误:

Error_GeneralServerErrorSql|事务(进程 ID 156)与另一个进程被死锁在锁定资源上,并且已被选作死锁牺牲品。 请重新运行该事务。

Error_GeneralServerErrorSql|超时时间已到。 在操作完成之前超时时间已过或服务器未响应。

返回页首

访问被拒绝问题网络负载平衡配置出现

如果您具有 Project Server 的管理权限,则 401 访问被拒绝消息可能会在配置两个服务器产品的集成后出现。 此消息会在部署包含以下组件的 Project Server 时出现:

  • 两个或两个以上的 Web 前端。

  • 用于平衡它们的 Windows 网络负载平衡 (NLB)。

  • 一个作为 NLB 前端的静态 IP,它具有注册到域名服务 (DNS) 的名称。

若要解决此问题,您必须设置两个注册表项之一。 有关更多信息,请参见 Microsoft 网站上的以下页面:当您浏览的网站使用集成身份验证并承载于 IIS 5.1 或更高版本时收到 401.1 错误

返回页首

可能会导致发生多个错误,当更新与主项目中的主项目打开

可同步团队项目和作为子项目的企业项目计划之间的数据。 不能从包含映射子项目的主项目管理或更新任何数据。 虽然主计划可以包括映射到 Team Foundation Server 的子项目,但用于 Project Professional 的 Team Foundation 客户端加载项阻止编辑主计划中映射的子项目。 具体而言,该加载项阻止您从主计划修改或删除计划与 Team Foundation 同步的任务

如果同时打开子项目及其主项目,则可能会发生一些错误。 例如,可能会显示下列一个或多个错误消息:

  • 在此 Project 版本中不存在 Team Foundation Gantt 甘特图视图 (Project Server)。 请选择另一个视图。

  • 您选择用于跟踪此工作项类型的下列字段在此项目中已被使用:pjTaskText30。 如果您继续,则现有数据将被覆盖。

    单击“取消”,阻止覆盖或删除数据,然后将 pjTaskText30 中的数据复制到项目中未使用的字段,或者联系管理员更改本地字段。

    是否继续?

  • TF82041:Team Foundation 不支持从主项目中编辑子项目中的任务。 请打开要编辑、发布或刷新任务的子项目。

  • TF80069:Team Foundation 在更新应用程序中的数据时遇到错误。

要解决这些错误,请在修改映射的子项目时关闭主项目。

返回页首

请参见

概念

Team Foundation Server 与 Project Server 集成的同步过程概述

移除参与数据同步的组件

更改部署配置

管理 Team Foundation Server 和 Project Server 集成