【问题标题】:Error during TFS Extension installation yields in invisible ExtensionTFS 扩展安装过程中的错误导致隐形扩展
【发布时间】:2018-02-16 07:50:00
【问题描述】:

我开发了一个自定义 TFS 扩展并尝试将其安装在我的本地 TFS 2017 上。在扩展库 (http://tfs:8080/tfs/_gallery/manage) 中上传期间,出现错误,告诉我我的 vsix 包的格式错误的内容。解决问题后,我无法安装扩展,因为 TFS 说“扩展已经存在。”。问题是,它没有出现在画廊中。所以我没有机会卸载或更新它。相反,我不得不在 vss-extension.json 中选择一个新 ID。

似乎在错误安装期间,一些数据库条目或文件留在了服务器上。有人想寻找那些或任何替代方法来删除扩展程序吗?

Gallery.tbl_Extension 表包含一个带有故障扩展 ID 的条目。所以这不是服务器或客户端缓存数据的问题。

【问题讨论】:

    标签: tfs tfsbuild azure-pipelines-build-task


    【解决方案1】:

    扩展程序的 ID 只是一个标识符。这是一个字符串,在来自同一发布者的扩展程序中必须是唯一的。

    由于扩展已上传且未正确安装。并且查看扩展列表,它也没有出现在列表中。这可能是缓存问题。

    尝试清理客户端缓存(TFS 和浏览器)

    • TFS:C:\Users\{your account}\AppData\Local\Microsoft\TeamFoundation\{version}\Cache

    • 浏览器,例如 IE(根据您的设置):

      C:\Users\{your account}\AppData\Local\Microsoft\Windows\INetCache

    【讨论】:

      【解决方案2】:

      即使扩展未显示在扩展库中,您也可以查询 TFS REST API 并查看是否安装了扩展(或它的其余部分): http://tfs:8080/tfs/_apis/gallery/publishers/MyPublisher/extensions/MyExtensionID

      接下来,您需要从 TFS Marketplace 安装和删除任意扩展并记录 REST 调用(例如使用 Chrome 开发工具或 Postman Interceptor)。

      您会发现一个 DELETE 请求,其中包含所有必要的标头信息。您只需要更新 url 中的发布者和扩展 ID 以匹配您要删除的包并将其发送到 TFS。成功后服务器将返回 204 Not Content。

      这似乎是一个未记录的 TFS API,因为我在当前的 API 文档 (https://www.visualstudio.com/en-us/docs/integrate/api/overview) 中找不到任何关于它的信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-06
        • 1970-01-01
        • 2011-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多