我在这里构建了大量的控制台应用程序来运行业务流程。大多数都具有相同的性质,它们被部署到应用程序服务器,访问源数据库并将暂存的数据放入目标数据库。一些访问文件共享等。
鉴于这种设置,我喜欢一遍又一遍地使用相同的日志记录包 (log4net)。我将配置保存在每个 app.config 中。但是,我一直发现我随身携带了 log4net 的 DLL。
我的意思是当我开始一个新项目时,我必须参考 log4net。我选择不将 log4net 放入 GAC 或将其完全安装到我的开发机器上。相反,我将整个下载包放在一个目录中,通常这样做:
我获取 DLL 并在我的控制台应用程序项目中创建一个 /lib 目录并引用它。
这个接缝的好处是我总是知道我有正确的版本,因为我将 DLL 复制到本地。我也在项目中检查它。
但是,缺点是我最终会得到大量项目,每个项目都有一个 /lib 目录,通常存在相同的 DLL。
我究竟做错了什么?我只是错过了解决方案/项目开发背后的整个想法吗?我觉得我的项目是如此不同,以至于我不希望它们都加载到一个解决方案中。
我很想知道其他人如何解决这个问题。