我在使用NHibernate时,程序运行到NHibernate.ISession session = factory.OpenSession();时出现如下错误:-----------------------------------
未处理的“System.IO.FileNotFoundException”类型的异常出现在 mscorlib.dll 中。其他信息: File or assembly name HashCodeProvider, or one of its dependencies, was not found.
-----------------------------------本人初学NHibernate,还请多多指点!另外:我的建的项目是类库,我用一个窗口调用这个类库。
App.config必须放在窗口下吗?如果放在类库下,程序运行到
NHibernate.ISessionFactory factory = cfg.BuildSessionFactory();时就出现如下错误:
-----------------------------------
未处理的“NHibernate.HibernateException”类型的异常出现在 mscorlib.dll 中。其他信息: The hibernate.connection.driver_class must be specified in the NHibernate configuration section.
-----------------------------------我想把App.config放在类库下,请问怎么做?

解决方案 »

  1.   

    没有读取到 NHibernate配置文件尝试添加一配置文件  按照示例的格式设为嵌入式资源然后重新编译
      

  2.   

    sorry,“嵌入式资源”是什么意思?
      

  3.   

    xml文件的属性[内容,编译,嵌入资源,无]
      

  4.   

    还是不懂:(能不能给个这个xml的例子啊?
      

  5.   

    我觉得当将App.config放在类库下时,
    NHibernate.ISessionFactory factory = cfg.BuildSessionFactory();
    能够运行通过,那么NHibernate的配置文件就应该读取到了啊!是不是哪个配置错误使得NHibernate.ISession session = factory.OpenSession();出错呢?App.config如下:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
         <configSections>
            <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>

    <nhibernate>
    <add 
    key="hibernate.show_sql"
    value="true"
    />
    <add 
    key="hibernate.connection.provider"          
    value="NHibernate.Connection.DriverConnectionProvider" 
    />
    <!-- -->
    <add 
    key="hibernate.dialect"                      
    value="NHibernate.Dialect.MsSql2000Dialect" 
    />
    <add 
    key="hibernate.connection.driver_class"          
    value="NHibernate.Driver.SqlClientDriver" 
    />
    <add 
    key="hibernate.connection.connection_string" 
    value="Server=192.168.1.100;initial catalog=DB;user id=sa;password=sa;" 
    />
    </nhibernate> <!-- This section contains the log4net configuration settings -->
    <log4net> <!-- Define some output appenders --> <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >

    <param name="File" value="log.txt" />
    <param name="AppendToFile" value="true" />
    <param name="RollingStyle" value="Date" />
    <param name="DatePattern" value="yyyy.MM.dd" />
    <param name="StaticLogFileName" value="true" /> <layout type="log4net.Layout.PatternLayout,log4net">
    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
    </layout>
    </appender> <!-- Setup the root category, add the appenders and set the default priority -->

    <root>
    <priority value="ALL" />
    <appender-ref ref="rollingFile" />
    </root> </log4net>
    </configuration>