我有一个帮助项目,在我创建的所有应用程序中都使用它。它包含了一些扩展方法和一些通用的助手类、控件等等。我不时地更新/扩展助手项目。这些通常是小的,不相关的项目,我是唯一的工作人员,所有这些。
我尝试了两种方法来使用它
我看到了这些方法的一些优点和缺点。
第一项:
第二项:
那么,在这里使用.dll文件的实际好处是什么?请注意,我是所有应用程序和助手文件中唯一一个编辑代码的人。
另外,为了澄清,应用程序通常很少,而助手类中包含的代码对所有应用程序都是完全通用的(一些简单的字符串比较、路径或XML操作等等)。
事实上,刚才有人让我意识到还有第三种选择。由于我在一个单独的项目中有帮助代码,我可以将这个项目添加到我的每个单独应用程序的解决方案中--这有点像单个文件的'Add‘,除了我只添加一个项目.但是正如布朗博士所注意到的,这实际上意味着.dll将需要添加到项目中。
还有一点是赞成不使用dll文件的,那就是能够通过helper类主动地进行调试.
发布于 2015-09-11 12:04:06
你已经发现了大部分的利弊。使用cs文件作为引用确实更轻量级,而且通常更易于管理。但是,当您的cs文件是完全独立的并且没有任何特殊的构建需求时,我建议只使用这种方法。
使用单独的DLL
因此,特别是如果您有大量的单类自包含组件,使用对文件的引用是很好的,但是如果有引用其他组件的组件,或者特定的构建需求,我建议使用DLL。
为了减轻管理许多独立DLL的问题,您可以创建一个安装程序包,或者利用ILMerge,它可以将一组程序集嵌入到单个可执行文件中。在我们的环境中,通过为每个应用程序使用一个部署脚本,我们以不同的方式处理这个问题。此脚本确保在发布新的应用程序发行版时始终将所有所需的all传递给生产部门。
发布于 2015-09-11 12:24:56
当应用程序很大且有需要更新的部分时,DLLs是很方便的,而不是整个应用程序。因此,如果您正在编写MS Word,可以方便地在DLL中使用拼写检查代码,而无需更新MS Word的全部内容。如果您正在编写的是一个小型实用程序(或者一系列自成一体的应用程序,它们都使用相同的代码),那么无论代码是否嵌入到应用程序(S)中,都没有多大的区别。
https://softwareengineering.stackexchange.com/questions/296976
复制相似问题