1

私は2つの問題を抱えています。

私のアプリケーションは、データベース (.dbm ファイル) として MS Access を使用し、接続用に NHibernate を使用する WPF c# アプリです。

最初の問題は、アプリを公開し、exe ファイルを取得してアプリをインストールした後、ファイル hibernate.cfg.xml が見つからないという例外が発生してアプリケーションを実行しようとしたことです。ただし、Visual Studio を実行すると、アプリは正常に機能しました。その構成ファイルは、構成を呼び出すクラスの同じフォルダーにあります。

また、発行方法が正しいかどうかもわかりません。WPF アプリを公開するには、ソリューション エクスプローラーでメイン プロジェクトを右クリックし、[公開] をクリックしてから、いくつかの手順を実行し、[完了] をクリックして終了します。ユーザーが自分のデータベース (.dbm ファイル) のパスを後で構成できるようにしたいので、私が期待する公開ファイルに構成ファイルが表示されるのを見たことがありません。次に、これが2番目の問題です。

4

3 に答える 3

1

1 つのオプションは、nHibernate 構成を app.config に移動することです。

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    ...
  </session-factory>
</hibernate-configuration>

configsections セクションに追加します

<configuration>
  <configSections>
    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" requirePermission="false" />
    ...
  <configSections>
<configuration>

または

var cfg = new Configuration();
cfg.Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"hibernate.cfg.xml"));
于 2013-10-21T18:20:03.327 に答える