更好地引用DLL或具有多项目解决方案?

时间:2012-07-31 13:42:55

标签: c# .net dll solution multi-project

我还在学习.NET(特别是C#),我很好奇创建和引用dll与使用多项目解决方案的优势?我有机会做任何一个,但我不确定哪个更好。作为dll的项目相当小,但可能会被重用。在做出这个决定时,尺寸和可重用性是否应该成为一个因素?感谢您的帮助。

5 个答案:

答案 0 :(得分:4)

在每个项目生成程序集时,您仍然在技术上引用其他程序集。

拥有多项目解决方案的一个好处是您不需要构建两个不同的解决方案 - 如果您在两个项目中更改代码,则整个解决方案只需一步即可构建。您也可以同时调试这两个项目(这可以通过单独的解决方案,但更棘手)。

尺寸可能是构建时间的一个因素,但除非它们很大,否则它不应该是一个大问题。如果项目被其他解决方案使用,将它们保存在单独的解决方案中可能是有意义的,这样您就可以更好地控制构建过程。

拥有单独的解决方案还可以帮助您保持接口不变,因为在整个堆栈中更改接口会更加困难。

答案 1 :(得分:1)

每个项目仍将输出自己的程序集,但分组项目确实可以使调试和构建更容易。

如果您确信将来可以重复使用各个项目,请从多项目解决方案开始。仔细设计您的项目minimize interdependence。如果你做得很好,那么当你决定独立于整个解决方案开发一个单独的项目时,不应该太难将它们分开。

答案 2 :(得分:1)

如果程序集不会在其他项目中共享,我只能将它们放在同一个解决方案中。

如果代码在不同的项目之间共享。我倾向于以与任何其他第三方二进制文件相同的方式处理项目之间共享的代码 - 也就是说,我在特定版本中获取DLL的副本并引用DLL。

这样做的好处是,当共享代码的两个项目处于不同的发布计划时,在6个月或一年内,每个项目都可以完全控制何时更新共享代码和处理潜在的重大变化。

如果你刚刚将共享代码直接构建到项目中,那么任何其他项目都需要进行更改 - 这不是一个好地方!

答案 3 :(得分:0)

当您最初开发消费程序时,我发现最简单的方案就是拥有多项目解决方案。但是当你后来开发另一个也消耗相同dll的程序时,只需参考tehm。

答案 4 :(得分:0)

我建议您添加库项目,并在同一解决方案中引用项目。您使用Project引用引用库项目。这将有助于您更好地调试和维护代码。