我公司有一个通用代码库,其中包含许多类库项目以及支持测试项目。每个类库项目都输出一个二进制文件,例如 Company.Common.Serialization.dll。由于我们拥有已编译、经过测试的二进制文件以及源代码,因此对于我们的消费应用程序是否应该使用二进制文件或项目引用存在争议。
支持项目引用的一些论据:
- 项目引用将允许用户调试和查看所有解决方案代码,而无需加载其他项目/解决方案的开销。
- 项目参考将有助于跟上提交给源代码控制系统的常见组件更改,因为如果没有活动的解决方案,更改将很容易识别。
一些支持二进制引用的论点:
- 二进制引用将简化解决方案并缩短解决方案加载时间。
- 二进制引用将允许开发人员专注于新代码,而不是可能被已经烘焙并证明稳定的代码分散注意力。
- 二进制引用将迫使我们适当地对我们的东西进行狗粮,就像我们将使用公共库一样,就像我们组织外部的人需要做的那样。
- 由于无法调试(单步执行)二进制引用,因此将被迫通过扩展现有测试项目来复制和修复问题,而不是仅在使用应用程序的上下文中进行测试和修复。
- 二进制引用将确保类库项目的并发开发不会对消费应用程序产生影响,因为将引用二进制的稳定版本而不是流入版本。如有必要,是否合并组件的更新版本将由项目负责人决定。
在使用项目或二进制引用时,您的政策/偏好是什么?