Gar*_*nay 15 c# asp.net nhibernate
我最近在hibernate.cfg.xml文件中遇到了一些问题,因为我没有使用以下行.
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
Run Code Online (Sandbox Code Playgroud)
现在,这是固定的,我得到以下错误.
无法加载文件或程序集'NHibernate,Version = 2.1.0.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
为什么我会收到此错误以及如何解决?
jos*_*mrb 14
这些文件应与引用的文件NHibernate.dll位于同一目录中:
Antlr3.Runtime.dllIesi.Collections.dlllog4net.dllCastle.Core.dllCastle.DynamicProxy2.dll你也应该添加一个引用或复制这个引用:
作为未来的参考:如果您遇到Randy Klingelheber指出的相同问题(NHibernate和FluentNHibernate之间的依赖性问题,或任何其他依赖库),您可以为针对旧版本的程序集指定重定向.这可以防止必须重新编译依赖程序集.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" />
<bindingRedirect oldVersion="3.0.0.3001" newVersion="3.0.0.4000" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)
此代码将旧版本(在我的情况下为3.0.0.3001)的请求重定向到实际使用的版本(3.0.0.4000).publicKeyToken包含在错误消息中.
我假设你最近将NHibernate升级到2.1?
如果是这样,我猜你有不同的项目引用不同版本的NHibernate.
这发生在我身上,比你想象的更难追查.
这些是我为解决它而采取的步骤:
希望能为您解决这个问题.
| 归档时间: |
|
| 查看次数: |
41118 次 |
| 最近记录: |