解决 Azure DevOps Office 集成问题

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

所有 Office 集成任务都要求已安装某一版本的 Visual Studio 或免费的 Azure DevOps Office Integration 2019。 该软件安装 Azure DevOps Office 集成加载项或 Team Foundation Office 集成加载项。 有关先决条件列表,请参阅 Azure Boards 和 Office 集成

如果在 Microsoft Excel 中看不到“团队”功能区,如下图所示,可能需要使用本文中提供的过程来解决此问题。

Excel TFS-Office 集成团队功能区的屏幕截图。

重要

以下对象不支持 Microsoft Project 集成和 TFSFieldMapping 命令:

  • Visual Studio 2019 和 Azure DevOps Office 集成 2019。
  • Azure DevOps Server 2019 及更高版本,包括 Azure DevOps Services。

保持对 Microsoft Excel 集成的完全支持,并支持批量导入和更新工作项。 使用 Microsoft Project 的替代方法包括:

启用 Azure DevOps 加载项

  1. 从 Excel 的文件菜单中选择选项

  2. 选择“加载项”,从管理选择列表中选择 COM 加载项,然后选择转到

    Excel 选项、加载项、选择 COM 加载项的屏幕截图。

  3. 确保勾选 Team Foundation 加载项复选框。

    已选中 Team Foundation 加载项的“COM 加载项”对话框的屏幕截图。

  4. 重启 Excel。 现在,你应能够看到团队功能区。

如果下次启动时不显示“团队”功能区,则加载项的加载行为可能已发生变化,因此需要完成以下步骤

更新注册表

  1. 在“搜索”或“运行”框中输入 regedit,从 Windows 的“开始”菜单启动注册表编辑器。

    运行 regedit 命令的屏幕截图。

  2. 转到包含 TFCOfficeShim.Connect.[版本] 文件夹的以下路径之一:

注意

如果有多个同名的文件夹,请选择版本号最高的文件夹。

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Excel\Addins(如果此密钥不存在,请尝试使用以下选项之一)

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Excel\Addins

  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\Excel\Addins

LoadBehavior 项的屏幕截图。

  1. 双击打开“LoadBehavior”,并将值数据字段设置为“3”(如果值为“0”,将不加载“团队”功能区)

  2. 选择“确定”并重启 Excel

    若要详细了解 LoadBehavior 项,请参阅 VSTO 加载项的注册表项、LoadBehavior 值

当 Visual Studio 失败时,Office 加载项无法在 Excel 中加载或打开

若要连接到 Azure Boards,请转到团队功能区,然后选择新建列表。 如果“新建列表”对话框无法打开,或者你收到 TF86001 或类似的错误消息,可能需要修复 Visual Studio。

TF86001 错误消息“Team Foundation 无法加载 Office 加载项”。

通常,如果在安装 Office Excel 或 Project 之前安装了 Visual Studio,通常会导致此错误。 在此实例中,Visual Studio Tools for Office Run Time 未正确配置。 若要更正此错误,必须修复 Visual Studio。

注意

有关身份验证问题(如 TF31003TF30063),请参阅用户帐户没有权限

先决条件

安装 Visual Studio,确保有权访问 Visual Studio 命令提示符和 Gacutil.exe(全局程序集缓存工具)。 如果未安装 Visual Studio,则可以免费安装 Visual Studio Community Edition

运行 Gacutil 工具

  1. 打开 Visual Studio 命令提示符,并选择以管理员身份运行它。

    VS2015 开发人员命令提示符的开始菜单的屏幕截图,其中包含“以管理员身份运行”

  2. 对于 Microsoft 365,请运行以下命令:

    GACUTIL /I C:\Windows\assembly\GAC_MSIL\Policy.14.0.Microsoft.Office.Interop.Excel\15.0.0.0__71e9bce111e9429c\Policy.14.0.Microsoft.Office.Interop.Excel.dll
    
    GACUTIL /I C:\Windows\assembly\GAC_MSIL\Policy.14.0.office\15.0.0.0__71e9bce111e9429c\Policy.14.0.Office.dll
    

    对于 Office 2016 和 Office 2013,请运行以下命令:

    GACUTIL /I C:\Windows\assembly\GAC_MSIL\Policy.12.0.Microsoft.Office.Interop.Excel\15.0.0.0__71e9bce111e9429c\Policy.12.0.Microsoft.Office.Interop.Excel.dll
    
    GACUTIL /I C:\Windows\assembly\GAC_MSIL\Policy.12.0.office\15.0.0.0__71e9bce111e9429c\Policy.12.0.Office.dll
    

    对于 Office 2010,请运行以下命令:

    GACUTIL /I C:\Windows\assembly\GAC_MSIL\Policy.12.0.Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Policy.12.0.Microsoft.Office.Interop.Excel.dll
    
    GACUTIL /I C:\Windows\assembly\GAC_MSIL\Policy.12.0.office\14.0.0.0__71e9bce111e9429c\Policy.12.0.Office.dll
    
  3. 成功运行 GACUTIL 命令后,重启 Excel,并查找适用于 Office 的 Azure DevOps 集成工具加载项。

如果上述步骤不成功,请尝试执行以下步骤:

  1. 运行完整的 Office 修复

  2. 卸载 Office 并重新安装 Office。

  3. 联系 Microsoft 支持团队。

更改密码后,用户无法从 Excel 登录到 Azure DevOps

如果用户更改了其网络密码并开始收到新帐户信息的身份验证错误,他们可能遇到了一个已知问题。 存储在 Visual Studio 中的令牌不再有效,但系统无法识别它需要刷新。 用户无需执行任何操作,令牌会在一段时间后过期,身份验证会再次开始工作,但无法估算延迟。 使用以下解决方法手动删除令牌。

从注册表中删除令牌

  1. 关闭所有打开的 Excel 实例。

  2. 保存并清除注册表路径,可以从使用“以管理员身份运行”选项打开的命令提示符运行以下命令:

    reg export HKEY_CURRENT_USER\SOFTWARE\Microsoft\VSCommon\14.0\ClientServices\TokenStorage\VisualStudio\VssApp %TEMP%\oicreds.reg
    
    reg delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\VSCommon\14.0\ClientServices\TokenStorage\VisualStudio\VssApp
    
  3. 打开 Excel,当连接到 Azure DevOps 后,系统会提示登录。

等待令牌过期,或者在每次密码更改时删除此注册表项(如果配置方式导致此问题)。

执行刷新和发布时出现间歇性问题

如果用户在执行刷新或发布时出错,可能是 Microsoft Entra ID 中的条件访问策略导致的。 若要解决此问题,请尝试清除文件夹 %LOCALAPPDATA%\.IdentityService 的内容。

无法强制转换 Microsoft.Office.Interop.Excel.ApplicationClass 类型的 COM 对象

尝试在 Excel 中打开从团队资源管理器触发的 TFS 工作项列表时,可能会收到错误消息。 有关详细信息,请参阅如何解决“无法将 Microsoft.Office.Interop.Excel.ApplicationClass 类型的 COM 对象强制转换为接口类型‘Microsoft.Office.Interop.Excel._Application’”