2013-01-01 47 views
0

我的WinForms 2.0应用程序有2个程序集。第一个程序集处理GUI和项目特定的代码,第二个程序集是我放置所有可重用代码的地方。这两个项目都是解决方案的一部分;第一个项目引用第二个项目。在WinForms应用程序中引用log4net DLL的正确方法

现在这两个项目都需要引用log4net.dll文件。我应该在每个项目中添加一个引用,指向已下载log4net源代码并构建它的文件夹;或者我应该将log4net.dll文件复制到每个项目目录中?

或者我还应该将整个log4net源代码项目添加为解决方案的一部分,这样我就可以隔离未来对log4net打破现有应用程序的任何更改吗?

其中一个要求是log4net将来的版本更改会有破坏现有代码的潜在风险,应该对我的项目产生最小的影响。

最佳做法是什么?

我正在使用C#2.0。

感谢,

+1

为什么会在未来log4net的版本变化会影响您的项目,如果你不改变的dll? – Rotem

回答

0

我应该将log4net.dll文件复制到每个项目目录中吗?

否。将其保存在单独的依赖关系文件夹中。该文件夹对于解决方案中的所有项目应该是通用的您应该将log4net.dll引用到每个项目中(需要此组件)。

或者我还应该添加整个log4net源代码项目作为解决方案的一部分,这样我就可以隔离日志中的任何未来更改,打破我现有的应用程序?

这不是必需的。仅当您正面临log4net.dll中的任何问题并且想要诊断自己时,才需要

2

我通常建项目,并将该DLL log4net的其中一个解决方案文件夹中的libs文件夹中。这两个项目都引用这个dll(libs文件夹)。

+0

嗯...我想我还需要把log4net.xml文件放在这个解决方案文件夹中?对不起,这可能是一个基本问题,但我只是开始使用log4net。此外,我从未使用过解决方案文件夹。我现在只是创建了一个,但似乎并没有在文件系统中创建任何文件夹。然后,我可以在硬盘上创建一个文件夹,将log4net文件放在那里,然后在两个项目中引用它们。 – AllSolutions

+0

您不需要XML文档文件,但可以将其放在那里。在磁盘上创建文件夹并将其作为解决方案文件夹。 –

+0

对不起,但如果我不得不在磁盘上创建一个文件夹,为什么我需要创建一个解决方案文件夹?从我在其他线程中读取的内容,解决方案文件夹和物理文件夹不会同步;什么是我无法用物理文件夹实现的,我只能通过解决方案文件夹才能实现? – AllSolutions

相关问题