it-roy-ru.com

Как удалить пустую папку из проекта под управлением TFS?

Предположим, у меня есть проект MyLib, под которым я создал папку скажем Folder1. Нет файлов в этой папке. Проект подключен к TFS.

Затем я хочу удалить эту папку Folder1. Я удалил его из контекстного меню и проверил проект в TFS. 

Затем я проверяю данные в TFS с помощью Team Explore-> Source Control, папка 1 удаляется…. Но она все еще есть в VS 2010 на локальном компьютере. Я закрыл VS 2020 и удалил Folder1 из исследования вдов . Затем снова откройте VS 2010, Folder1 все еще там. Я не могу удалить его локально из MyLib!

Смущенный. Как решить эту проблему?

62
KentZhou

Просто создайте файл в папке и удалите его вместе с новым файлом. TFS имеет некоторые проблемы с пустыми папками, когда вы пытаетесь удалить их.

132
sra

Сделайте следующее:

  1. В Visual Studio откройте «Обозреватель решений».

  2. Щелкните правой кнопкой мыши по рассматриваемому проекту и выберите «Разгрузить проект».

  3. Щелкните правой кнопкой мыши по незагруженному проекту (должен быть удален) и выберите «Редактировать (Проект)».

  4. В редакторе XML (который только что открылся) найдите проблемное имя папки (CTRL + F, чтобы вызвать окно «поиск», и найдите в текущем документе имя папки).

  5. Когда поиск завершен, он должен выделить в редакторе XML узел XML, который содержит имя папки (в большинстве случаев он находится в узле, который говорит Visual Studio, чтобы он включал эту папку в компиляцию проекта (через MSBuild). )). Просто удалите узел, содержащий имя папки.

  6. Сохраните изменения и закройте редактор.

  7. Вернитесь в Solution Explorer, щелкните правой кнопкой мыши на затененном проекте и выберите «Обновить проект».

  8. Скомпилируйте и зарегистрируйте проект. Убедитесь, что вы удалили физическую папку из Windows Explorer (если она все еще там).

Редактировать по Hakam Fostok: Если ваш проект в TFS, то после применения предыдущих шагов вам может понадобиться открыть Source Controler Explorer и также удалить из него папку

48
Daniel Weisel

Если вы щелкнете правой кнопкой мыши по проекту и выберете «Редактировать файл проекта», вы сможете удалить запись для папки с ошибками. После сохранения и перезагрузки проекта вы можете удалить папки с жесткого диска и затем управлять исходным кодом.

2
user588035

Извините за поздний ответ, я пропустил, чтобы проверить ваш ответ.

Вышеуказанная ошибка предполагает, что папка может быть извлечена и заблокирована другим пользователем.

В Source Control вы можете видеть статус папки как Checkout & lock?

Если да, можете ли вы использовать Status Sidekick инструмента TFS Sidekicks и попытаться разблокировать папку ( http://www.attrice.info/cm/tfs/ ).

Затем попробуйте снова удалить папку.

1
Jehan33

Вы можете попробовать сделать Get Specific версию. Щелкните правой кнопкой мыши родительскую папку файла в Source Control и выберите Get Specific version. Откроется окно Get, здесь выберите Type as Latest Version и установите оба доступных флажка.

1
Jehan33

Я попытался решить, что добавить новый файл, а затем удалить папку с файлом, но не удалось.

Мое решение состояло в том, чтобы сначала удалить физическую папку, а затем войти в код в TFS . (Вы увидите список изменений, включающий удаление папки.)

После входа вы сможете удалить папку в вашем обозревателе решений.

0
Alan Feng

Просто создайте в нем файл (например, файл класса) - зарегистрируйтесь, затем, после того, как он (успешно) вернется, - удалите, и это будет сделано.

Проще говоря: проверить, а затем удалить, и это будет работать .. 

0
t_plusplus