日期:2014-05-17  浏览次数:20996 次

c#中加载log4net.dll时遇到的一个诡异问题
新建一个C#下的windows工程,加载一个对应版本的log4net.dll,using log4net; 编译报错,提示找不到对应的namesapce或者类。
同样的环境下,新建一个C#下的web工程,加载同样版本的log4net.dll,using log4net; 编译正常通过,而且可以正常使用。
请哪位大侠指点一下迷津,谢谢~~
------最佳解决方案--------------------
检查一下.net 类库的版本,要和log4net的.net类库版本一致
------其他解决方案--------------------
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
这句话有加吗?主程序的Program.cs文件中引用using log4net;然后在下面加这句代码。后面照着来就行。试试
------其他解决方案--------------------
引用:
检查一下.net 类库的版本,要和log4net的.net类库版本一致

答复:都是4.0的版本
------其他解决方案--------------------
引用:
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
这句话有加吗?主程序的Program.cs文件中引用using log4net;然后在下面加这句代码。后面照着来就行。试试
答复:加了编译也不会过
------其他解决方案--------------------
还需要有一个对应的配置文件的.
  我之前是编译通过,却不写内容。
后来改着改着编译不过了,因为多写了[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)] 这句。并不是没个地方都写的。
我就在主程序的Program.cs写了然后  private static ILog log = log4net.LogManager.GetLogger("Program"); 这样。后面要用当然也实例化。我想着用全局是不是可以。你的反正出问题了 就去试试吧
------其他解决方案--------------------
我今天刚学习了log4net,4.0没发现问题! 你看看引用是不是添加了?
------其他解决方案--------------------
问题我已经找到了,是对应工程Properties->Application下面 Target framework中对应的选项应该选.NET Framework 4, 而我创建的是.NET Framework 4 Client Profile选项。
谢谢大家,分给1楼了。