【问题标题】:TFS Extension already exists but not shownTFS 扩展已存在但未显示
【发布时间】:2018-02-28 12:58:53
【问题描述】:

我创建了一个构建扩展,第一次尝试上传它时出现错误,因为 json 文件的格式不正确。修复并重试后,我收到错误扩展已存在,但扩展未显示在 tfs 扩展列表中。 如何从 tsf 数据库或 tfs 缓存服务器中删除扩展? 服务器上是否有任何特定位置? 我什至清除了本地缓存但没有帮助。

【问题讨论】:

    标签: tfs tfsbuild azure-devops-extensions


    【解决方案1】:

    只需尝试清理客户端缓存(包括 TFS 和浏览器),然后再试一次。

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

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

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


    如果还是不行,试试下面的方法:

    1. 使用 REST API 删除现有扩展:(成功后服务器将返回 204 Not Content。)

      Delete http://server:8080/tfs/_apis/gallery/publishers/{publisher}/extensions/{extensionId}

    (您可以从 vss-extension.json 文件中获取 publisher 和 extensionId。)

    只需使用Postman等工具发送删除请求,也可以使用以下PowerShell脚本删除现有扩展:

    Param(
       [string]$tfsurl = "http://server:8080/tfs", 
       [string]$publisher = "Andy",
       [string]$extensionId = "sample-extension",
       [string]$user = "username",
       [string]$token = "password"
    )  
    # Base64-encodes the Personal Access Token (PAT) appropriately
    $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
    
    $baseUrl = "$tfsurl/_apis/gallery/publishers/$publisher/extensions/$($extensionId)?api-version=3.2-preview.2"           
    $response = (Invoke-RestMethod -Uri $baseUrl -Method Delete -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})
    
    1. 再次上传固定扩展。

    另一种解决方法是更改​​固定扩展的扩展 ID 并重新打包,然后上传。

    【讨论】:

    • 谢谢。清除缓存没有帮助。我一直在寻找 RestApi。谢谢。
    猜你喜欢
    • 2015-01-17
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 2019-12-31
    • 1970-01-01
    相关资源
    最近更新 更多