3

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

4

5 回答 5

4

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

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

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

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

于 2012-07-31T13:46:30.990 回答
1

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

如果您确信将来可以重用单个项目,请从多项目解决方案开始。仔细设计您的项目,以尽量减少相互依赖。如果您在这方面做得很好,那么以后当您决定要独立于整个解决方案开发单个项目时,将它们分开应该不会太难。

于 2012-07-31T13:49:52.300 回答
1

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

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

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

如果您刚刚将共享代码直接构建到您的项目中,那么您将受制于任何其他项目所需的更改——这不是一个好地方!

于 2012-07-31T13:52:34.150 回答
0

当您最初开发消费程序时,我发现拥有多项目解决方案最容易。但是当你开发另一个程序也使用相同的 dll 时,只需引用 tehm。

于 2012-07-31T13:47:31.577 回答
0

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

于 2012-07-31T13:49:20.080 回答