0

WCF サービスを参照する C# クラス ライブラリがあります。これにより、app.config にサービス設定が作成されます。アプリをビルドすると、設定は appname.dll.config に正しく含まれています。ただし、セットアップ アプリケーションが setup.exe を作成し、これを別のマシンにインストールすると、そこにある構成ファイルにサービス参照がありません。Entity Framework Model の接続文字列だけです。

なぜこうなった?サービスが実行されるマシンは時々変更される可能性があるため、サービス参照設定が必要です。

編集:誰も問題を理解していないようです。私のセットアップ アプリは、dll と dll.config を宛先ディレクトリにインストールします。その構成をexeアプリにコピーする必要があることはわかっていますが、現在はありません。それは、そのマシンのクライアント次第で、その宛先フォルダーから必要な場所にコピーできます。問題は、dll の app.config にはサービス設定が含まれており、dll のリリース ディレクトリにある dll.config にも含まれているにもかかわらず、dll.config にはサービス設定が含まれていないことです。何らかの理由で、setup.exe を作成し、dll.config をパッケージ化するセットアップ アプリがこの情報を失っています。それがより明確になることを願っています。

4

2 に答える 2

1

構成設定が必要な dll にコードを記述すると、それらの設定が dll の app.config に追加されます。その dll を exe (または Web サイト) で使用する場合は、適切な設定を dll の構成から exe の構成にコピーする必要があります。

これを行うと、インストーラーはexeの構成を取得し、正しい構成セクションを持つ必要があります。

exe の app.config がない場合は、作成します。インストーラーがインストールされていない場合は、インストールされていることを確認してください。アプリ ドメインは、構成の 1 つのファイルのみを検索します。これは、exe のアプリ構成にデフォルト設定されます。これを機能させる唯一の方法は、その情報をexeのアプリ構成に入れることです。

于 2012-07-26T13:10:50.740 に答える
0

サービス設定がクラス ライブラリの構成ファイルに入るように思えます。メイン アプリケーションの実行可能ファイルの app.config ファイルにも入っていることを確認できますか。

于 2012-07-26T12:58:38.327 に答える