我有一个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等)。
答案 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。