TFS项目可以互相参考吗?

Dav*_*vid 3 .net tfs logging shared-libraries

我最近开始在一个企业软件环境中工作,其中有数百种不同的应用程序都局限于他们自己的"孤岛".我的任务之一是尝试对事物进行标准化,第一次尝试将是标准事件记录.目前,该公司的"标准"是"每个人都应该使用企业库进行日志记录".实际上,这转化为不同的开发人员在不同的项目中以不同的方式实现不同的日志记录,并且大部分时间都使用该库.

为此,我正在寻找抽象出"公司标准"内部开发的界面背后的实际日志工具.我们的想法是将"标准"的重点从实施工具转移到如何使用它.然后应用程序将使用内部库而不关心幕后工具(除了app.config部分,尽管我已经知道如何使用log4net进行抽象).

但是,我现在面临的一个问题是所有这些应用程序都在单独的TFS项目中.如果我创建一个包含用于日志记录的公共库的项目,那么其他项目是否有任何方法可以引用它?我不想在每个项目中分发库,因为它们会很快失去同步.

如果TFS不能这样做,有没有人有任何其他建议?

Rya*_*ell 5

杰夫的建议与我们推荐的最接近.将内部API视为一个独立的团队项目,将其他项目作为客户端提供服务.这些项目提供了积压和发布周期.您可以根据需要拥有CI,Beta和Release版本.消费/消费者项目然后使用他们选择的构建,因为他们可以适当地适应他们自己的发布周期.因为您的TFS构建将推送到可用的放置位置,所以人们会拉动而不是推送新版本.Pull正在选择,这些组件应该在消耗项目中签入并进行版本控制.这与你真正的第三方组装没有什么不同,实际上你应该以同样的方式考虑这些.

当消费应用程序需要或带宽升级到较新版本的内部组件时,它们会拉动.