首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate抛出log4net异常,告诉我格式良好的XML可能是无效的?

NHibernate抛出log4net异常,告诉我格式良好的XML可能是无效的?
EN

Stack Overflow用户
提问于 2010-12-11 23:46:49
回答 3查看 1.8K关注 0票数 1

我有一个糟糕的控制台应用程序,我一直在尝试让NHibernate运行。我正在为它的变化无常而苦苦挣扎,它有一个令人讨厌的习惯,就是抛出难以找到解决方案的异常。

今天,我启动了我的项目,并尝试运行它,但我在log4net中遇到了错误,我甚至没有以任何方式直接引用它。我已经将我的应用程序简化为以下代码,但它仍然会发生:

代码语言:javascript
复制
class Program {
    public static void Main(string[] args) {
        Configuration conf = new Configuration();
        Console.Write("Press any key to continue . . . ");
        Console.ReadKey(true);
    }
}

我得到的截断错误输出是:

代码语言:javascript
复制
log4net:ERROR DefaultRepositorySelector: Exception while reading ConfigurationSettings. Check your .config file is well formed XML.
System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for appSettings: External component has thrown a

在SharpDevelop接管并给我一个异常对话框之前,这个错误似乎嵌套了大约10次。

我有一个单独的hibernate配置文件和一个映射文件,但这两个文件都没有包含在嵌入式资源中,也没有复制到输出目录中。app.config如下:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    </startup>

    <appSettings>
    </appSettings>
</configuration>

如果没有@startup@部分,错误仍然会发生。这个文件中没有对nhibernate-configuration的引用--我是在实例化Configuration类之后加载它的。

如果它昨天不能很好地工作,这也不会那么令人沮丧,我只向映射中添加了两个字段(当它不起作用时,我再次删除了它,这也没有帮助)。

我真的不知道如何阻止这个错误的发生。任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

发布于 2010-12-12 00:33:50

之后我认为通常会有一个元素。看起来它可能正在寻找其中的一个。以下是指向nHibernate配置的链接,其中显示了一个示例:

http://www.beansoftware.com/ASP.NET-Tutorials/NHibernate-Log4Net.aspx

希望这能给你指明正确的方向。

鲍勃

票数 0
EN

Stack Overflow用户

发布于 2010-12-22 06:56:24

以下是我推荐的内容

console

  • 打开internal debugging,以便您可以了解Log4Net抛出internal debugging的原因配置Console Appender以查看控制台

中的日志条目

希望这能帮助你发现问题。

票数 0
EN

Stack Overflow用户

发布于 2010-12-22 07:20:01

我依稀记得在使用log4net时遇到了这样的错误。我不记得到底是什么修复了它,但可以尝试以下方法。

Apache即使没有直接引用log4net,也要确保每个页面(http://logging.apache.org/log4net/release/manual/configuration.html)都正确地配置了它,并在主页面中包含

  1. 命令。

XmlConfigurator.Configure();

  • If appSettings部分为空,这可能会引发异常。试着完全摆脱它。更好的方法是在其中抛出一个虚拟节点。(是的,由于某种原因,虚拟值更好,这是我和其他任何人都无法解释的)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4417479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档