TFS扩展已存在但未显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TFS扩展已存在但未显示相关的知识,希望对你有一定的参考价值。

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

答案

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

  • TFS:C:Users{your account}AppDataLocalMicrosoftTeamFoundation{version}Cache
  • 浏览器,IE例如(根据您的设置): C:Users{your account}AppDataLocalMicrosoftWindowsINetCache

如果仍然无效,请尝试下面的事情:

  1. 使用REST API删除现有扩展:(成功时,服务器将返回204 Not Content。) Delete http://server:8080/tfs/_apis/gallery/publishers/{publisher}/extensions/{extensionId}

(你可以从vss-extension.json文件中获取publisherextensionId。)

只需使用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并再次打包,然后上传它。

enter image description here

以上是关于TFS扩展已存在但未显示的主要内容,如果未能解决你的问题,请参考以下文章

安装 memcached - 类存在但未找到

Maven 发现已完成,但未找到任何扩展

PHP XML (DOM) 扩展:已安装但未在 centos 的 phpinfo 中列出

PL/SQL 匿名块已完成”但未显示结果

已定义但未用于整个项目的变量

数据显示在 websocket 响应中,但未显示在已解决的承诺中