2009-08-08 6 views
2

私はこれを投稿するのがとても馬鹿だと感じていますが、ここで何が間違っているのか分かりません。ホットなNhibernateの作品を私がサイトに入れてダウンロードし、クイックスタートのチュートリアルに従っていたが、いくつかのチャンスを取っていたのを見たいと思った。MySqlを使用していて、ProjectではなくProductである。 ..NHibernate設定の問題

私はエラーを取得するスキーマを生成するためのテストを実行し、ここでエラー情報です:

TestCase 'Uniflu.Domain.Tests.GenerateSchema_Fixture.Can_generate_schema' 
failed: NHibernate.MappingException : Could not compile the mapping document: 
Uniflu.Domain.Mappings.Usuario.hbm.xml 
----> NHibernate.HibernateException : Could not instantiate dialect class  
NHibernate.Dialect.MySqlDialect 
----> System.TypeLoadException : Could not load type NHibernate.Dialect.MySqlDialect. 
Possible cause: no assembly name specified. 
em NHibernate.Cfg.Configuration.LogAndThrow(Exception exception) 
em NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc) 
em NHibernate.Cfg.Configuration.ProcessMappingsQueue() 
em NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream, String name) 
em NHibernate.Cfg.Configuration.AddResource(String path, Assembly assembly) 
em NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly) 
E:\Projetos\Uniflu\Uniflu\Uniflu.Domain\Tests\GenerateSchema_Fixture.cs(17,0): em Uniflu.Domain.Tests.GenerateSchema_Fixture.Can_generate_schema() 
--HibernateException 
em NHibernate.Dialect.Dialect.InstantiateDialect(String dialectName) 
em NHibernate.Dialect.Dialect.GetDialect(IDictionary`2 props) 
em NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc) 
--TypeLoadException 
em NHibernate.Util.ReflectHelper.TypeFromAssembly(AssemblyQualifiedTypeName name, Boolean throwOnError) 
em NHibernate.Util.ReflectHelper.ClassForName(String name) 
em NHibernate.Dialect.Dialect.InstantiateDialect(String dialectName) 

0 passed, 1 failed, 0 skipped, took 5,37 seconds (NUnit 2.5).

私はhibernate.cfg.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
<session-factory name="Test"> 
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property> 
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
<property name="dialect">NHibernate.Dialect.MySqlDialect</property> 
<property name="connection.connection_string">Server=Athenas;Database=uniflu;Uid=alaor;Pwd=test;</property> 
<property name="show_sql">true</property> 
</session-factory> 
</hibernate-configuration> 

私のユーザークラス:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Uniflu.Domain 
{ 
    public class Usuario 
    { 
     public virtual Guid Id { get; set; } 
     public virtual String Nome { get; set; } 
     public virtual String Email { get; set; } 
     public virtual String Senha { get; set; } 
     public virtual String Dica { get; set; } 
     public virtual DateTime DataCriado { get; set; } 
     public virtual DateTime UltimoAcesso { get; set; } 
     public virtual Boolean Ativo { get; set; } 
    } 
} 

マイUsuario.hbm.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
       assembly="Uniflu.Domain" 
       namespace="Uniflu.Domain"> 
<class name="Usuario"> 
<id name="Id"> 
<generator class="guid" /> 
</id> 
<property name="Nome" /> 
<property name="Email" /> 
<property name="Senha" /> 
<property name="Dica" /> 
<property name="DataCriado" /> 
<property name="UltimoAcesso" /> 
<property name="Ativo" /> 
</class> 
</hibernate-mapping> 

私のソリューションの名前はUnifluですが、私のプロジェクトはUniflu.Domainで、それはクラスライブラリプロジェクトだ、ディレクトリ構造はこのようなものです:

Uniflu
> - - > [プロパティ
- - > Uniflu.Domain
> - >リファレンス
- > - >マッピング
- > - > - > Usuario.hbm.xml
- > - >テスト
- > - > - > GenerateSchema_Fixture
- > - > hibernate.hbm.xml
- > - > Usuario.cs私は私は何を見ることができない

まいら間違っている...私は本当にいくつかの光が必要!お願いします!!

ありがとうございます。

答えて

7

に設定されている*(それはそれがないように見える).hbm.xml拡張し、各マッピングファイルのビルドタイプを持っていることを確認してください)をhibernate.cfg.xmlに入力してください。

例外メッセージとスタックトレースには常に注意してください。

+0

まだ仕事をしていない人、それはそうではありません。 = /しかし、感謝のための返信です。 – Alaor

+0

オハイオ州、申し訳ありません、それは今働きました!私は変更後にプロジェクトを再構築しなければなりませんでした!多くの人に感謝!あなたは男です! ; P – Alaor

0

あなたのマッピングファイルが(ケースの点に注意してください。あなたはMySQLDialectのスペルミス「埋め込まれたリソース」

+0

お返事ありがとうございますが、Usuario.hbm.xmlとhibernate.cfg.xmlの両方の "組み込みリソース"としてすでに設定されています。 – Alaor