Как поделиться выбранными проектами в решении Visual Studio между TFS и GIT?

У меня есть решение VS 2013 с основным проектом, создающим библиотеку классов (в сопровождении проекта Sandcastle Help File Builder для документации и нескольких вспомогательных библиотек). Кроме того, решение включает в себя дюжину примеров кода (консольные приложения). Примеры кода используются проектом Sandcastle. решение регистрируется в частном репозитории TFS.

Мне нужно переместить проекты примеров кода в общедоступный репозиторий GIT (чтобы сделать образцы доступными для клиентов), поэтому они должны быть общими репозитории GIT и TFS.

Как правильно это сделать? Я нашел несколько сообщений, объясняющих, как совместно использовать одно и то же решение между TFS и GIT, но я хочу поделиться только избранными проектами из решения. Так нужно ли мне создавать отдельное решение только для образцов? Если да, нужно ли мне также перенести это решение на TFS? Поддерживает ли TFS общие проекты? Сможет ли он разрешать пакеты Nuget между решениями?

Если это имеет значение, примеры проектов не находятся в основной папке решения TFS (для этого есть причина). Структура папок проекта выглядит следующим образом:

- Main\
-- Samples\
---- Sample1\
------ Sample1.csproj
---- Sample2\
------ Sample2.csproj
-- Library\
---- Library.sln
---- Lib\
------ Lib.csproj
---- Helper\
------ Helprer.csproj
---- Sandcastle\
------ Sandcastle.shfbproj

Файл решения (Library.sln) ссылается на все проекты в папке библиотеки (Lib.csproj, Helper.csproj и т. д.), а также на все примеры проектов (Sample1.csproj и т. д.).


person Alek Davis    schedule 31.08.2017    source источник


Ответы (1)


Я думаю, что лучший способ — это создать отдельное решение только для примеров, включая библиотеки, на которые есть ссылки, а затем опубликовать их на внешнем Git (например, Github) для совместного использования.

Вам не нужно перемещать его в TFS, в 2015 и более поздних версиях TFS поддерживается сборка с помощью внешнего git, этот пример для справки. Конечно, если вы хотите поддерживать проекты локально с помощью TFS, вы можете переместить их в TFS. Затем поддерживать синхронизацию репозитория Git между TFS и Git.

TFS может предоставлять общий доступ к источникам проектов с набором разрешений для определенных пользователей. Таким образом, вы также можете создавать учетные записи TFS для клиентов, чтобы делиться с ними исходными кодами проектов, если нет ограничений политики безопасности. Дополнительные сведения см. в настройках разрешений.

person Andy Li-MSFT    schedule 01.09.2017
comment
@Alek Davis Вы решили проблему с помощью вышеуказанного обходного пути? любое обновление? - person Andy Li-MSFT; 07.09.2017