例如,我有一些项目Common.Utils.csproj并在所有其他项目中使用它。我可以将其(Utils)课程存储在一个存储库中,仅在那里修改它,在gac中注册dll并在其他项目中将其用作dll,或者我可以在任何需要的地方克隆sourse,在解决方案中包含项目,将其用作源和推送修改。那么,最佳做法是什么?
答案 0 :(得分:2)
我建议将它放在一个地方并让其他项目引用它,以便所有更改都可用,而无需更新所有副本。
您可能遇到的唯一问题是,如果您显着更改了签名,这可能会破坏向后兼容性,但您应该尝试为此进行编码。
但是,如果您使用常用方法的测试用例,以确保以前使用的方法仍能正常工作,那么这不应该是一个主要问题。
答案 1 :(得分:0)
不惜一切代价避免使用util库。它们是代码气味,表明违反了许多SOLID原则;首先是Single Responsibility Principle。
Ayende非常清楚地解释here。