我想在许多解决方案(12 +)中分享一些(3)核心项目。
所以,说我有12个网站,他们使用一些共享的后端核心代码(在这种情况下,我不是在谈论共享的js,css或视图 - 我在谈论业务对象,实体的东西等)
我需要能够确定哪个站点在dev,test,prod等中具有哪个版本的共享代码,以便开发人员可以获取网站代码并获得正确版本的共享代码来开发或修补网站。
然后,MS构建服务器需要知道要为部署获取哪个版本的共享代码。
为了解决这个问题,我看到人们分支核心代码 - 这似乎很荒谬12次。 (我希望有时会为热修复和长期运行的项目分支核心代码。)
我也看到人们复制核心代码的DLL并检查它们。
我认为我会在某处根据TFS标签名称列出我的解决方案的依赖关系,这样开发人员可以轻松地使用正确的代码运行应用程序并给出tfs标签,构建服务器可以获取网站的代码和正确的代码核心代码的版本。我正在使用TFS&此刻也是VS 2013,所以就是这样。
那么,有没有办法做到这一点,直截了当,可支持/可扩展且直观?谢谢 - 彼得
答案 0 :(得分:0)
TFS中的标签非常有限。例如,创建标签后,您无法更改并更新它。如果您的某个核心项目已更新,您是否需要为其创建新标签。如果您为自己的某个解决方案使用了新标签。但是,您发现此更新中存在一些错误,您需要更新核心项目以修复错误。然后创建一个较新的标签,您需要手动维护依赖项,这似乎不是一件容易的事。
此外,如何根据TFS标签名称列出解决方案的依赖关系? TFS没有这个内置选项,似乎唯一的方法是将它存储在txt或其他文件中并检查源代码控制。每次开发人员打开网站应用程序时,都需要先检查它并从服务器获取标签到他们的工作区并进行处理。
通常,项目之间共享代码的目的是减少维护。有两个主要的代码共享路径:源代码和二进制代码。他们之间的区别你可以看看这个博客:Code Sharing in Team Foundation Server
产品之间共享代码是导致质量侵蚀和错误数量增加的主要原因。我建议你单独构建和共享二进制输出通过NuGet 使用更好。
另请看下面类似的问题: