本文介绍了无法加载类型'NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

那么,

当我阅读并尝试每个没有成功的话题时,我决定发布我自己的问题。
我的解决方案有一个控制台应用程序和一个用于数据访问的类库。 Nhibernate配置位于控制台应用程序的appconfig中(我目前正在使用它进行调试,因为我将在创建Web应用程序并将所有配置迁移到web.config之后)。



这个异常是非常清楚的:



NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException:无法加载类型NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate .ByteCode.Castle.dll'在配置代理工厂类期间。可能的原因是: - NHibernate.Bytecode提供程序集没有部署。 - 用于初始化session-factory部分的'proxyfactory.factory_class'属性的typeName格式不正确。解决方案:确认您的部署文件夹包含以下程序集之一:NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll ---> System.IO.FileNotFoundException:无法加载文件或程序集NHibernate.ByteCode.Castle.dll或它的某个依赖项。系统无法找到指定的文件。



我尝试解决此问题的步骤:

1)部署文件夹中的dll - 我的bin中有以下dll:

Antlr3.Runtime.dll - v 3.1.3.42154

Castle.Core.dll - v。2.5.1.2121

Castle.DynamicProxy2.dll - v。2.2.0.6628

Iesi.Collections.dll - v.3.0 .0.1002

log4net.dll - v。1.2.10.0

NHibernate.ByteCode.Castle.dll - v.3.0.0.2001
NHibernate .dll - v.3.0.0.1002

Oracle.DataAccess.dll - v.4.112.1.2

Remotion.Data.Linq.dll - v.1.13.41.2


$ b $ 2)配置块中的配置

 < hibernate-configuration xmlns =瓮:NHibernate的配置-2.2\" > 
< session-factory>
< property name =connection.provider> NHibernate.Connection.DriverConnectionProvider< / property>
< property name =dialect> NHibernate.Dialect.Oracle10gDialect< / property>
< property name =connection.driver_class> NHibernate.Driver.OracleDataClientDriver< / property>
< property name =connection.connection_string_name> MetaManager< / property>
< property name =proxyfactory.factory_class> NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle< / property>
< mapping assembly =MetaManager.Data/>
< / session-factory>


3)我设置了我的MetaManager .Data项目在x86 CPU中部署

4)我的bin文件夹中的所有dll都在项目中引用。



我想这就是它。我不知道要去哪里:(b / b
$ b $ Pedro Dusso



更新粗体

我认为你有错的城堡版本,你应该有Castle.Core.dll。NHibernate.ByteCode。 Castle.dll可能未加载,因为它无法找到Castle.Core.dll。



在,位于\Required_For_LazyLoading\Castle中的文件是您需要的文件。


Well,

As I read and try every topic similar without success, I decided to post my own question.My solution has a console app and a class library for dataaccess. The Nhibernate configuration is inside the appconfig in the console app (which I'm currently using for debug, as I will after make a Web App and migrate all configuration to web.config).

The exception is well know:

NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException: Unable to load type NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle.dll' during configuration of proxy factory class. Possible causes are: - The NHibernate.Bytecode provider assembly was not deployed. - The typeName used to initialize the 'proxyfactory.factory_class' property of the session-factory section is not well formed. Solution: Confirm that your deployment folder contains one of the following assemblies: NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll ---> System.IO.FileNotFoundException: Could not load file or assembly 'NHibernate.ByteCode.Castle.dll' or one of its dependencies. The system cannot find the file specified.

The steps I took to try to solve it:

1) The dll in the deployment folder - I have the following dll in my bin:
Antlr3.Runtime.dll - v. 3.1.3.42154
Castle.Core.dll - v. 2.5.1.2121
Castle.DynamicProxy2.dll - v. 2.2.0.6628
Iesi.Collections.dll - v.3.0.0.1002
log4net.dll - v. 1.2.10.0
NHibernate.ByteCode.Castle.dll - v.3.0.0.2001NHibernate.dll - v.3.0.0.1002
Oracle.DataAccess.dll - v.4.112.1.2
Remotion.Data.Linq.dll - v.1.13.41.2

2) The configuration in configuration block

 <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
  <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
  <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
  <property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
  <property name="connection.connection_string_name">MetaManager</property>
  <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle</property>
  <mapping assembly="MetaManager.Data"/>
</session-factory>

3) I set my MetaManager.Data project to deploy in a x86 CPU
4) All dll in my bin folder are referenced in the project.

I think this it it. I do not know were else to go :(

Pedro Dusso

updates in bold

解决方案

I think you have the wrong Castle version. You should be having Castle.Core.dll. NHibernate.ByteCode.Castle.dll probably isn't loaded because it cannot find Castle.Core.dll.

In the download from http://sourceforge.net/projects/nhibernate/files/NHibernate/3.0.0Beta1/, the files located in \Required_For_LazyLoading\Castle are the files you need.

这篇关于无法加载类型'NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 03:21