最佳实践:解决方案参考

时间:2016-02-25 19:49:10

标签: tfs

我们使用Team Foundation Server进行项目管理。 假设我们有一个像这样的结构:

Root
  ProjA
  SuiteB
    Bin
    SubProj1
    SubProj2
    SuiteB.sln <-- Contains both SubProj
  ProjC
    Bin

ProjA是一个包含大多数应用程序中常用代码的库。 它需要在SubProj1,SubProj2和ProjC

中引用

目前在每个主文件夹中我都有一个'Bin',我们已经检查了ProjA.dll的副本。

这有效,但ProjA经常更改,一旦ProjA更新,其他项目应该使用新的ProjA,尤其是如果修复了错误。 (我们确保ProjA向后兼容)

我们一直忘记更改/更新Bin文件夹中的dll,而且我们现在有超过30个项目都引用了ProjA,因此在发生更新时必须更改其中的一些项目。

对于那些忘记更新他们正在处理的项目中的dll的程序员,是否有更好的方法?

注意 - 当ProjA发生变化时很难跟踪30个人,即人们一直声称他们不知道有更新,即使发送了电子邮件。

1 个答案:

答案 0 :(得分:4)

一般规则是:如果你把二进制文件放在源代码控制中,你就会做错事。

使用对共享项目的项目引用(以便每个应用程序根据需要构建共享项目),或者使用像NuGet这样的包管理器对二进制文件进行版本化,让NuGet在构建时处理二进制引用的相应版本