运行我的Nhibernate项目时遇到这个恼人的错误.它正在运行okey,突然间它只是开始在这条路径中询问一个文件"d:\ CSharp\NH\NH \nhibernate\src\NHibernate\Bytecode\AbstractBytecodeProvider.cs",当取消时,它会抛出异常说它说无法在配置代理工厂类时加载类型'NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle'.可能的原因是: - 未部署NHibernate.Bytecode提供程序程序集. - 用于初始化session-factory部分的"proxyfactory.factory_class"属性的typeName格式不正确.
解决方案:确认您的部署文件夹包含以下程序集之一:NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll
这对我来说很沮丧...请帮助请 - :)
确保将以下dll复制到输出文件夹并由进程加载:
你的NHibernate配置有这一行:
<property name="proxyfactory.factory_class">
NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle
</property>
Run Code Online (Sandbox Code Playgroud)
作为选项,您可以尝试升级到最新版本的NHibernate - 3.2.他们有一个内置的代理生成器,所以它应该更简单.你不需要这些额外的dll.如果您使用NHibernate 3.2,只需删除上面的配置行.
如果由于某些原因您无法升级到3.2,则可以考虑使用不同的字节代码提供程序.NHibernate支持其中3个开箱即用.试试LinFu或Spring:
| 归档时间: |
|
| 查看次数: |
3997 次 |
| 最近记录: |