如何在TFS和GIT之间的Visual Studio解决方案中共享所选项目?

时间:2017-08-31 18:26:29

标签: git visual-studio-2013 tfs git-tfs

我有一个VS 2013解决方案,主要项目构建了一个类(伴随着文档的Sandcastle帮助文件生成器项目和一些帮助库)。此外,该解决方案还包括十几个代码示例项目(控制台应用程序)。代码示例由Sandcastle项目使用。 解决方案会被检入私有 TFS 存储库。

我需要将代码示例项目移动到公共 GIT 存储库(以便为客户端提供示例),因此需要之间共享/ strong> 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)引用Library文件夹(Lib.csproj,Helper.csproj等)下的所有项目以及所有示例项目(Sample1.csproj等)。

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是仅为样本创建单独的解决方案,也包括引用的libiaries,然后将其发布到外部Git(例如:Github)进行共享。

您不需要将其移至TFS,在2015年和更高版本的TFS中,它支持使用外部git构建this sample供您参考。如果您想使用TFS在本地维护项目,可以将其移至TFS。然后是keep Git repository in sync between TFS and Git

TFS可以与特定用户的权限集共享项目的来源。因此,如果没有安全策略限制,您还可以为客户端创建TFS帐户以与它们共享项目源。有关详细信息,请参阅permission settings