我们拥有共享基本功能的MSVS解决方案(解决方案“A”,“B”,“C”,...)池,名为“Common.dll” 。在.NET解决方案之间共享通用库的最佳实践
有3-5个积极的解决方案(正在开发中),而另一些是被动的,几乎没有重建。
Common.dll始终在开发中。有几个选择如何保持我的解决方案代码,你会建议什么,为什么? A)
A)。 将common.dll源代码放入每个解决方案。优点:它可以帮助积极的解决方案与common.dll并行发展,而被动解决方案可以编译。缺点:很难在活动解决方案之间同步活动common.dll代码。 将common.dll二进制代码添加到每个解决方案。优点:所有项目都是可编译的,而common.dll代码将被集中。缺点:很难与common.dll并行增长主动解决方案。 参考每个项目将持续common.dll二进制看起来像B.但它会带来被动解决问题,如果common.dll会不断地改变它的接口(有些人可能会说接口应始终保持不变)
d) 。 ?
预先感谢您!
您的解决方案需要引用common.dll的不同版本吗? – Nick 2012-01-16 11:15:57
谁知道。使用common.dll的精确版本来冻结被动解决方案将更容易,然后在common.dll更改时保持所有解决方案都是最新的。 – 2012-01-16 11:18:13
我会考虑为此设置自己的公司端nuget feed http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds - 它使它更容易管理卫星项目参考需求(包中可以编码最大版本以及最小版本)。我们刚刚做到了这一点,而且它很摇滚。 – 2012-01-16 11:26:02