我的问题是关于引用开源框架。它们中有许多用于许多不同的目的。我个人在一个项目中利用其中几个。例如:
从开发工作的角度来看,所有这些框架都有很大帮助。然而,涉及一些消极方面:
另类?将源代码包含在项目的公共dll中(即MyProject.Common)。让我们暂时搁置许可要求的遵守问题。
这也有一些负面影响:
所以,我知道人们可能对此有很多意见......我想听听他们的意见。
感谢。
答案 0 :(得分:2)
对于问题的某些方面,这可能是相关的:http://en.wikipedia.org/wiki/DLL_hell#Running_Conflicting_DLLs_Simultaneously。
此问题的另一个常见解决方案是在所需功能之上编写封装层,这至少可以在升级到支持库的新版本时保护代码免受大量更改。
对于开源项目的生命周期,应该清楚哪些项目是健康的,哪些不是。例如,作为Apache或Eclipse基础的一部分的项目可能是健康的,而sourceforge上的一些随机事物可能不是。通常,您可以通过避免看起来不活跃的项目来完全避免此问题。
对于将代码复制到项目中的负面影响:
可能有更多理由不这样做,但这只是一些。希望有所帮助。