我在解决方案中有22个项目。我通过构建这些项目并选择创建的dll向一些项目添加了引用。这是最佳实践还是应该使用项目引用而不是指向dll?
问候, Vix。
我不知道最佳实践,但至少有一些需要考虑的要点。
项目引用的优点:
dll 引用的优点:
注意:您应该不将具有 dll 引用的项目保留在同一个解决方案中,因为这会导致在构建时发生混淆。
除了@platon的帖子之外,我想说的是不仅仅是总是,而是在大多数情况下。
例如:
如果您的项目使用公司X开发人员多年前编写的许多库,并且有一次在几年内更改了某些内容,如果您的解决方案中有150个项目,则添加这些库的DLL引用而不是项目引用可能是非常好的解决方案,否则在每次编译时,您将去玩PS上的足球比赛并在10分钟后回来。
您的项目使用C++库,您还希望能够在VS Express版中构建解决方案(您也在家工作,您应该将代码传递给尚未拥有VS的人,因为它成本很高...等等)。添加DLL而不是项目引用
等等......
我的意思是,@platon所说的绝对正确,但并非总是如此。
问候。
我赞同platon的意见,使用项目引用。很可能你的解决方案编译时间过长。我们在项目中做了以下几件事:
使用项目引用将使您能够轻松阅读代码,逐步执行和调试/编辑这些项目,如果需要的话。在我看来,这是非常宝贵的,不值得绕过。
然而,如果您发现由于大量项目而导致构建时间受到影响,您可以采取几种不同的方法。以下是一些:
进入解决方案配置管理器,在调试配置中关闭一些项目的“生成”设置。请注意,这将导致您在进行更改时需要手动构建这些项目,并且当从源代码控制下载新的解决方案时,您需要手动构建这些项目。这种方法适用于“稳定但正在开发”的项目。
预编译项目(在发布配置中),并将它们构建到解决方案根目录下的指定文件夹中(例如“ExternalAssemblies”或“References”)。然后,您应该删除这些项目,并通过浏览编译文件夹并从中添加引用来重新添加所有引用。这种方法适用于您真正不太可能编辑的“稳定”项目。
保持项目不变,并获得更好的电脑。在开发人员机器上,更快的磁盘和更多的RAM永远不会有错。这种方法的优点应该是显而易见的。