使用log4net时,我遇到了一个奇怪的编译器错误:
XmlConfigurator.Configure(new FileInfo("LogConfig.log4net")); // produces error
ILog log = LogManager.GetLogger("MyLogger");
log.Info("hello");
报告
错误1类型“System.Xml.XmlElement”在未引用的程序集中定义。您必须添加对程序集'System.Xml,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用。
这发生在第一行,虽然我自己并没有真正提到任何System.Xml的东西。此外,可能值得注意的是,我的目标是.net 4.0,编译器需要.net 2.0程序集。我刚刚将项目切换到目标4.0。
有什么建议吗? 谢谢!
答案 0 :(得分:5)
我怀疑问题是您使用XmlElement
类型的参数调用重载的方法。虽然我可以看到不失败的论点,但我认为要求引用并不是完全不合理的。
最简单的解决方法是添加对System.Xml.dll的引用 - 它不真正需要.NET 2.0版本;它就是log4net程序集引用的那个。