问题描述
|
我已经尝试解决我的问题了几个小时,所以我认为是时候在这里发布问题了。
问题
当我启动我的单元测试以检查我的休眠配置是否给我一个例外:
解析时发生异常
配置:“程序集”
未声明属性。
我的密码
hibernate.cfg.xml
<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<hibernate-configuration xmlns=\"urn:nhibernate-configuration-2.2\" assembly=\"Pccleaner.Dmt\">
<session-factory>
<property name=\'proxyfactory.factory_class\'>NHibernate.ByteCode.LinFu.ProxyFactoryFactory,NHibernate.ByteCode.LinFu</property>
<property name=\"connection.provider\">NHibernate.Connection.DriverConnectionProvider</property>
<property name=\"connection.driver_class\">NHibernate.Driver.MySqlDataDriver</property>
<property name=\"connection.connection_string\">Database=****;Data Source=localhost;User Id=****;Password=*****</property>
<property name=\"dialect\">NHibernate.Dialect.MySQLDialect</property>
<property name=\"show_sql\">true</property>
<mapping assembly=\"Pccleaner.Dmt\"/>
</session-factory>
myunittest.cs
var cfg = new Configuration().Configure();
new SchemaExport(cfg).Execute( false,true,false);
我尝试过的
我找到了手动添加程序集的示例。我更喜欢在配置文件中设置程序集,但是为了使其正常运行,我尝试了以下代码:
var cfg = new Configuration();
cfg.AddAssembly(\"Pccleaner.Dmt\");
cfg.Configure();
new SchemaExport(cfg).Execute( false,false);
此代码导致以下异常:
无法编译映射文档:Pccleaner.Dmt.Mappings.Project.hbm.xml
----> System.InvalidOperationException:在配置中找不到方言
配置文件Project.hbm.xml如下所示:
<hibernate-mapping xmlns=\"urn:nhibernate-mapping-2.2\" assembly=\"Pccleaner.Dmt\" namespace=\"Pccleaner.Dmt\">
<class name=\"Project\" table=\"pcc_dmt_project\">
<id name=\"ID\" column=\"id\">
<generator class=\"identity\" />
</id>
<property name=\"Name\" not-null=\"true\" column=\"name\" length=\"50\"/>
<property name=\"SvnRepository\" not-null=\"true\" column=\"svn_repository\" />
<property name=\"SvnUserName\" not-null=\"false\" column=\"svn_user_name\"/>
<property name=\"SvnUserPassword\" not-null=\"false\" column=\"svn_user_password\"/>
<bag name=\"Revisions\" cascade=\"all\">
<key column=\"project_id\"/>
<one-to-many class=\"Pccleaner.Dmt.Revision\"/>
</bag>
</class>
</hibernate-mapping>
Project.cs:
namespace Pccleaner.Dmt {
public class Project {
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual string SvnRepository { get; set; }
public virtual string SvnUserName { get; set; }
public virtual string SvnUserPassword { get; set; }
public virtual IList<Revision> Revisions { get; set; }
}
}
搜索不同的异常不会给我提供任何解决此问题的线索。在删除测试项目中重复的休眠配置之前,它一直在工作。
对于每个休眠配置文件,我更改了属性以将其嵌入为资源。休眠配置文件被复制到测试项目的bin文件夹中。
我是休眠的新手,配置休眠的不同异常和方式导致我的大脑晕眩。你们能帮我吗?
offtopic:无法创建该网站的新帐户:它给我一个找不到页面的异常。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)