我的公司有一个共同的代码库,它由许多类库文件项目和支持测试项目组成。每个类库项目输出单个二进制文件,例如, Company.Common.Serialization.dll。由于我们拥有经过编译和测试的二进制文件以及源代码,因此我们的消费应用程序是否应该使用二进制或项目引用存在争议。什么时候应该使用与二进制引用相反的项目引用?
有利于项目引用的一些参数:
- 参考项目将允许用户调试和查看所有解决方案的代码,而无需加载额外的项目/解决方案的开销。
- 项目引用将有助于跟上提交给源代码管理系统的常见组件更改,因为如果没有现行解决方案,更改将很容易识别。
赞成二进制引用的一些参数:
- 二进制的引用将简化的解决方案,并为更快的解决方案加载时间。
- 二进制引用将允许开发人员专注于新代码,而不是被已被烘焙且已被证明是稳定的代码分散注意力。
- 二进制引用会迫使我们适当地将我们的东西用于食物,因为我们将使用公共库,正如我们组织之外需要这样做的那样。
- 由于无法调试二进制引用(步入),因此必须通过扩展现有测试项目来强制复制和修复问题,而不是单独在消费应用程序的上下文中进行测试和修复。
- 二进制引用将确保类库项目的并发开发将不会影响消费应用程序,因为二进制文件的稳定版本将被引用而不是流入版本。如果需要的话,是否要引入新组件的更新版本将是项目主管的决定。
当涉及到使用项目或二进制引用时,您的策略/首选项是什么?
这个问题缺少一个关键点imho,使用项目引用您可以使用交叉引用功能并使用工具来查找变量/方法的用法。二进制引用不提供此功能。 – 2015-08-26 07:45:09