2017-01-30 126 views
0

我有几个(3)我想跨多个解决方案(12+)共享的核心项目。tfs2013跨项目共享项目

所以说,我有12个网站,他们使用一些共享的后端核心代码(在这种情况下,我不是在谈论共享的JS,CSS或视图 - 我正在谈论业务对象,实体的东西等等。 )。

我需要能够确定哪个站点具有dev,test,prod等共享代码的版本,以便开发人员可以获取网站代码并获得正确版本的共享代码以进行开发或修补网站。

然后MS构建服务器需要知道哪个版本的共享代码获得部署。

为了解决这个问题,我看到人们在分支核心代码 - 这看起来很荒谬,要做12次以上。 (我确实希望有时分支的核心代码之类的热修复和长时间运行的项目。)

我也看到人们复制的核心代码的DLL和检查那些。

我想我会列出基于TFS标签名称的解决方案的依赖关系,以便开发人员可以轻松地使用正确的代码获得运行的应用程序,并给出一个tfs标签,构建服务器可以获取网站的代码和适当版本的核心代码。我现在也在使用TFS & VS 2013,所以就是这样。

那么,有没有办法做到这一点,直接,可支持/可缩放和直观?谢谢 - 彼得

回答

0

TFS中的标签非常有限。例如,创建标签后,您无法更改和更新它。如果您的某个核心项目已更新,是否需要为其创建新标签?如果您为您的解决方案之一完成并使用新标签。但是,您发现此更新中存在一些错误,您需要更新核心项目以修复该错误。然后创建一个更新的标签,您需要手动维护依赖关系,这似乎不是一件容易的事情。

此外如何列出基于TFS标签名称的解决方案的依赖关系? TFS没有这个内置选项,似乎唯一的方法是将它存储在txt或其他文件中,并检查源代码管理。每当开发人员打开一个网站应用程序时,都需要首先进行检查,并从服务器获取标签到他们的工作区并对其进行处理。

通常项目之间共享代码的目的是减少维护。有两个主要的代码共享路径:源代码和二进制文件。他们之间的差异,你可以看看这个博客:Code Sharing in Team Foundation Server

产品之间共享代码是质量侵蚀和提高错误计数的主要原因。我会建议你分别建立和共享二进制输出通过NuGet哪些使用优选。

也采取类似如下的问题一看: