Расширение 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
Если это все еще не работает, просто попробуйте следующие вещи:
Удалите существующее расширение с помощью 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)})
- Загрузите исправленное расширение снова.
Другим обходным решением является изменение идентификатора расширения для фиксированного расширения и его упаковка, а затем загрузка его.