私は本当にこのような質問を投稿するのは嫌いですが、おそらく私は本当にシンプルなものが見つからない場所を探していますが、NHibernateの学習を始めたばかりで、問題を見つけることができませんでした。NHibernateはマッピングファイルをコンパイルできません
マイドメインクラス:
namespace PanoMeasurer.Core.Domain
{
public class Panorama : EntityBase
{
public virtual double HeadingBase
{
get;
set;
}
}
}
namespace PanoMeasurer.Core.Domain
{
public class EntityBase : IEntity
{
public virtual Guid OID
{
get;
set;
}
}
}
マイPanorama.hbm.xmlマッピングファイル:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="PanoMeasurer.Core.Domain"
namespace="PanoMeasurer.Core.Domain">
<class name="Panorama">
<id name="OID" generator="guid.comb"/>
<property name="HeadingBase"/>
</class>
</hibernate-mapping>
そして、私はユニットテストで呼んでいるコード:
m_config = new Configuration()
.SetProperty(Environment.ReleaseConnections, "on_close")
.SetProperty(Environment.Dialect, typeof(SQLiteDialect).AssemblyQualifiedName)
.SetProperty(Environment.ConnectionDriver, typeof(SQLite20Driver).AssemblyQualifiedName)
.SetProperty(Environment.ConnectionString, "data source =:memory: ")
.AddFile("Mappings/Xml/Panorama.hbm.xml");
m_sessionFactory = m_config.BuildSessionFactory();
Session = m_sessionFactory.OpenSession();
new SchemaExport(m_config).Execute(true, true, false, Session.Connection, Console.Out);
新しい設定を作成するときに例外が発生します:
OneTimeSetUp:NHibernate.MappingException:マッピングドキュメントをコンパイルできませんでした:マッピング/ Xml/Panorama.hbm.xml ----> System.IO.DirectoryNotFoundException:C: Users \ Rodrigo \ AppData \ Local \ JetBrains \ Installations \ ReSharperPlatformVs14 \ Mappings \ Xml \ Panorama.hbm.xml 'に移動します。 例外スタックトレース
を持っていない私の知る限り、それは特定のパス上のXMLファイルを見つけることができなかったからだと理解されるようにコンパイルしてできませんと言います。なぜResharperフォルダ内のファイルを探しているのですか?プロジェクトの出力はすべてデフォルトのbin/debugフォルダに設定されています。
私のソリューションは、そのように構成されています
ですから、PanoMeasurer.Core.Domainアセンブリが存在し、パノラマクラスがそこに位置していることがわかります。
そして、私のマッピングファイルがEmbededResourceに設定されています:
また、私はNHibernateはの最新のナゲットのバージョンを使用していることを教えてください。
私はここで何が欠けていますか?
Panorama.hbm.xmlが持っているどのような値のプロパティを?アクションを作成し、出力ディレクトリにコピーしますか?そのファイルを出力ディレクトリ – DanielVorph
で検索する必要があります。埋め込みリソースとコピーに常に設定されています – RBasniak
ビルドアクションプロパティを「コンテンツ」に変更できますか?あなたがそれをコンパイルするとき、あなたのXML設定ファイルで出力ディレクトリのフォルダを作成する – DanielVorph