2009-08-16 3 views
2

私はすべての私のnhibernateコード(流暢を使用しているドメイン/マッピング)を持つクラスライブラリを持っています。なぜhibernate.cfg.xmlのために/ bin/debugでnhibernateが探していますか?

今私は中/ consoleTests /休止状態ファイルを持っている私は、コンソールアプリケーションでいくつかの簡単なテストをやっている、と私はそれが/ binに/デバッグ

でconfigruationファイルを見つけることができないというエラーを取得しています.cfg.xml

コンソールアプリケーションの/ bin/debugフォルダを探しているのはなぜですか?

答えて

0

これはVisual Studioで実行しているときのカレントディレクトリです。それはあなたがやっていることですか?

+1

どういう意味ですか?私はvnet内からコンソールアプリケーションを実行しています.... – mrblah

+0

@Homestead:Adrianbanksはそれに完全に答えました。 –

5

Configure()メソッドをパラメータなしで呼び出す場合は、hibernate.cfg.xmlがそれを使用するアプリケーションと同じディレクトリに存在する必要があります。

プロジェクトをコンパイルすると、bin/debug/ディレクトリにコンパイルされます。プロジェクトを実行するとき(Visual Studioでそのプロジェクトをクリックするかデバッグする)、作業ディレクトリはbin/debug/であるため、hibernate.cfg.xmlファイルが存在すると予想されます。

あなたができます

  • 出力ディレクトリに hibernate.cfg.xmlファイルをコピーするにはVisual Studioの内 pathがあなたの /consoleTests/ディレクトリにあなたの hibernate.cfg.xmlへのパスです
  • コールConfigure(path)を、ビルド後のイベントを使用します。

NHibernateを構成する方法の詳細については、「A fluent interface to NHibernate - Part 4 - Configuration」を参照してください。

+6

hibernate.cfg.xmlのプロパティを「常にコピーする」または「新しい場合はコピーする」に変更すると、出力パスにコピーされます。 – sisve

1

xmlプロパティを "出力ディレクトリにコピー"を "常にコピー"に設定することができます

関連する問題