Расширение TFS уже существует, но не показано

Я создал расширение для сборки и в первый раз, когда я пытался загрузить его, я получил ошибку, потому что файл json не был хорошо отформатирован. После исправления и повторной попытки я получаю ошибку . Расширение уже существует, но расширение не отображается в списке расширений tfs. Как удалить расширение из базы данных tsf или с сервера кэша tfs? Есть ли конкретное местоположение на сервере? Я даже очистил свой локальный кеш, но не помог.

1 ответ

Решение

Просто попробуйте очистить клиентские кэши (включая TFS и Browser), а затем повторите попытку.

  • 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}

(Вы можете получить publisher а также extensionId из файла vss-extension.json.)

Просто используйте инструменты, такие как 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. Загрузите исправленное расширение снова.

Другим обходным решением является изменение идентификатора расширения для фиксированного расширения и его упаковка, а затем загрузка его.

введите описание изображения здесь

Другие вопросы по тегам