Есть ли способ в Visual Studio 2010 сопоставить структуру кода/проекта/папки из TFS с несколькими машинами?

В настоящее время я работаю над несколькими приложениями, и в некоторых из этих приложений решения содержат проекты из нескольких рабочих областей в Visual Studio 2010.

Это вызывает проблему, когда другие пытаются работать с кодом для определенного приложения или просто загружают код и запускают приложение. У меня есть рабочие места для моего компьютера, а у других нет.

Что я хочу сделать, так это настроить рабочее пространство или своего рода шаблон рабочего пространства, где любой может загрузить код с сервера, находясь на любом компьютере и с необходимой структурой папок, и приложение будет работать.

Например, если бы у меня была следующая структура сервера:

$/
  $/SolutionFiles/

  $/SubFolder1/
    $/SubFolder1/ProjectA/
    $/SubFolder1/ProjectB/

  $/SubFolder2/
    $/SubFolder2/Project1/
    $/SubFolder2/Project2/

... и у меня было решение $/SolutionFiles/MyAppSolution, содержащее код из $/SubFolder/ProjectA/ и $/SubFolder2/Project1/, я хочу иметь отдельную рабочую область или что-то еще, возможно, с именем «MyAppSolution_Workspace» или что-то в этом роде, которое будет отображать папку решения и связанные папки проекта с общий путь. Это должно работать и быть доступным со всех других отдельных компьютеров, а также должно сохранять ту же структуру каталогов на сервере и иметь те же имена папок и все, что ожидается для файлов решения/проекта.

Судя по всему, общие рабочие пространства в VS2010 будут работать, но, похоже, они применимы только к одной машине и не являются полностью общими.

Есть ли какие-либо предложения о том, как это сделать?


person Mike Webb    schedule 16.05.2011    source источник


Ответы (1)


Вам, вероятно, не понравится этот ответ, но вот что мы делаем:

Старайтесь максимально упростить отображение рабочего пространства. Никогда не перемещайте папки и не переименовывайте папки или файлы с помощью сопоставления рабочей области. Затем все, что нужно сделать пользователям, — это составить карту сверху, и все заработает. Они могут получить больше файлов, чем хотят, но это сработает.

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

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

person BubbleSort    schedule 16.05.2011
comment
Я также предупрежу вас, что мы столкнулись с проблемой, пытаясь использовать систему сборки TFS при использовании проектов в нескольких решениях. Идентификаторы GUID внутри файлов проекта, которые связывают проекты вместе и с TFS, могут не синхронизироваться, если проект используется в нескольких решениях. Это не проблема для ручных сборок внутри IDE, но агенты сборки TFS используют идентификаторы GUID для поиска зависимостей, и сборка завершится ошибкой, если они рассинхронизируются. - person BubbleSort; 17.05.2011
comment
Я поговорил со своим боссом и провел небольшое исследование, и, вероятно, мы этим и займемся. Спасибо за ответ. - person Mike Webb; 17.05.2011