【发布时间】:2009-07-30 20:21:40
【问题描述】:
我们最近将 Windows 窗体 C# 项目从 NHibernate 2.0 升级到 2.1。我们更新了 app.config 以包含“proxyfactory.factory_class”以指向所选代理(在我们的示例中为“NHibernate.ByteCode.Castle”)。升级后,程序按预期构建和运行,没有问题。我们的问题是当尝试在 Visual Studio 2008 设计器中打开任何在加载时引用 NHibernate 的表单时,现在给我们以下错误(好像我们没有配置代理):
ProxyFactoryFactory 不是 配置。初始化 'proxyfactory.factory_class' 属性 会话工厂配置 部分与可用的之一 NHibernate.ByteCode 提供程序。
堆栈跟踪:
at NHibernate.Bytecode.AbstractBytecodeProvider.get_ProxyFactoryFactory()
at NHibernate.Cfg.Configuration.Validate()
at NHibernate.Cfg.Configuration.BuildSessionFactory()
at DAL.NHibernateHelper..cctor() in ...\DAL\NHibernateHelper.cs:line 62
来自 NHibernateHelper 的第 62 行:
static NHibernateHelper()
{
var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly("DAL");
sessionFactory = cfg.BuildSessionFactory(); // <-- line 62
}
这是我们的 NHibernate 的 app.config 配置:
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.connection_string">Server=ourserver;initial catalog=ourdb;Integrated Security=SSPI</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
</configuration>
有人知道如何解决这个问题吗?谢谢!
【问题讨论】:
标签: c# winforms visual-studio-2008 nhibernate proxyfactory