NHibernate.Cfg.Configuration”的类型初始值设定项引发异常

using  NHibernate; 
using  NHibernate.Cfg; 

Configuration cfg 
=   new  Configuration(); 

“NHibernate.Cfg.Configuration”的类型初始值设定项引发异常。
是怎么回事,我引入了dll和命名空间

[分析1]
进一步察看错误提示,有这样的InnerException:
{ " 未能加载文件或程序集“log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905”或它的某一个依赖项。系统找不到指定的文件。 " : " log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905 " }
问题可能就出在log4net身上
[解决方法]
果然,在app.config文件中加入下面的section:

   < log4net >
    
< appender name = " NHibernateFileLog "  type = " log4net.Appender.RollingFileAppender " >
      
< file value = " Logs/nhibernate.txt "   />
      
< appendToFile value = " true "   />
      
< rollingStyle value = " Size "   />
      
< maxSizeRollBackups value = " 10 "   />
      
< maximumFileSize value = " 100KB "   />
      
< staticLogFileName value = " true "   />
      
< layout type = " log4net.Layout.PatternLayout " >
        
< conversionPattern value = " %d{HH:mm:ss.fff} [%t] %-5p %c - %m%n "    />
      
</ layout >
    
</ appender >

    
< appender name = " GeneralLog "  type = " log4net.Appender.RollingFileAppender " >
      
< file value = " Logs/general.txt "   />
      
< appendToFile value = " true "   />
      
< maximumFileSize value = " 100KB "   />
      
< rollingStyle value = " Size "   />
      
< maxSizeRollBackups value = " 5 "   />
      
< layout type = " log4net.Layout.PatternLayout " >
        
< conversionPattern value = " %d{HH:mm:ss.fff} [%t] %-5p %c - %m%n "    />
      
</ layout >
    
</ appender >
    
< appender name = " DataLog "  type = " log4net.Appender.RollingFileAppender " >
      
< file value = " Logs/data.txt "   />
      
< appendToFile value = " true "   />
      
< maximumFileSize value = " 100KB "   />
      
< rollingStyle value = " Size "   />
      
< maxSizeRollBackups value = " 5 "   />
      
< layout type = " log4net.Layout.PatternLayout " >
        
< conversionPattern value = " %d{HH:mm:ss.fff} [%t] %-5p %c - %m%n "    />
      
</ layout >
    
</ appender >

    
<!--  levels: DEBUG, INFO, WARN, ERROR, FATAL  -->

    
< root >
      
< level value = " DEBUG " />
      
< appender - ref   ref = " GeneralLog "   />
    
</ root >

    
< logger name = " NHibernate "  additivity = " false " >
      
< level value = " DEBUG " />
      
< appender - ref   ref = " NHibernateFileLog " />
    
</ logger >
    
< logger name = " Pushable.Data "  additivity = " false " >
      
< level value = " DEBUG " />
      
< appender - ref   ref = " DataLog " />
    
</ logger >
  
</ log4net >

同时修改configSections节为:

   < 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 >


也就是加上log4net,不然会报错。运行的时候new configuration()通过了

[新问题]
当执行到:

ISessionFactory factory  =  config.BuildSessionFactory();
时出现错误:
{ " 未能加载文件或程序集“Iesi.Collections, Version=1.0.0.1, Culture=neutral, PublicKeyToken=154fdcb44c4484fc”或它的某一个依赖项。系统找不到指定的文件。 " : " Iesi.Collections, Version=1.0.0.1, Culture=neutral, PublicKeyToken=154fdcb44c4484fc " }


[解决方法]

从nhibernate-1.0.4.0/bin目录中拷贝Iesi.Collections.dll到其他目录(或者不拷贝),然后引用到所在项目中

 

问题3:Nhibernate1.0或以上版本运行时提示加载程序集有误应修改配置项

把<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
 改为:<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">

问题4:提示Proxy代理有误应加入Castle.DynamicProxy.dll

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值