【问题标题】:VSTS/TFS extension reinstall after remove, The extension already existsVSTS/TFS 扩展删除后重新安装,扩展已经存在
【发布时间】:2018-06-06 16:58:50
【问题描述】:

VSTS/TFS(2017) 版本号:15.117.26714.0

我已经卸载了我的自定义扩展,并删除了这个扩展列表。然后我重新安装了它的ef,提示“扩展已经存在”。太棒了,查询 url http://{domain}/tfs/_apis/gallery/publishers/{publishers}/extensions/{extensionId},我可以得到卸载扩展信息。

我找到了两种解决方法,但效果不佳。方法如下。

  • 清理客户端缓存:

    1. TFS:C:\Users{您的帐户}\AppData\Local\Microsoft\TeamFoundation{版本}\Cache

    2. 浏览器,例如 IE(根据您的设置):C:\Users{您的帐户}\AppData\Local\Microsoft\Windows\INetCache Emmmm,没有 INetCache 目录。我跳过它。

  • 查询 TFS REST API

    curl "http://{domain}/tfs/_apis/gallery/publishers/{publisher}/extensions/{extensionId}" -X DELETE -H "Pragma: no-cache" -H ...... 但是,它会引发一些错误:

    { "message":"TF400813: 资源不可用于匿名访问。需要客户端身份验证。", "type":"Microsoft.TeamFoundation.Framework.Server.UnauthorizedRequestException", “isRemoteException”:假, “错误代码”:0, “事件ID”:3000 } 当我更改其他扩展发布者和 extensionId 时,它成功了。

【问题讨论】:

  • 尝试使用tfx build tasks delete --task-id xxxxxxdelete the task。并在 vss-extension.json 文件中检查你的扩展的 ID,并更改 ID 以再次尝试。
  • 我已经解决了。使用curl 在邮递员中获取代码,并在 chrome 的控制台中运行它。令我惊讶的是,我得到这个响应,它的代码是 404。即使这个请求可能是一些问题,当我查询时我什么也得不到我的扩展信息再次使用api。我无法更改任务ID或扩展ID,那么我将丢失我的重要历史数据。
  • 你提到“我已经解决了”,你的意思是你现在可以重新安装扩展了吗?

标签: tfs azure-devops


【解决方案1】:

我有同样的问题,我可以用 REST API 解决它

DELETE https://{domain}/tfs/_apis/gallery/publishers/{publisher}/extensions/{extension-name}?api-version=3.2-preview.2

更改不是使用extensionsID,而是我使用扩展名作为资源标识

我通过带有基本身份验证的 Fiddler 执行请求,并使用 PAT 而不是用户名/密码

【讨论】:

    猜你喜欢
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    相关资源
    最近更新 更多