0

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

4

1 回答 1

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文件中获取publisherand 。)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 并再次打包,然后上传。

在此处输入图像描述

于 2018-03-01T04:29:39.823 回答