2009-09-11 299 views
34

wpfでデスクトップアプリケーションをビルドするときに、問題のドキュメントを読んで、人々の答えが 'web.config'を参照しているときに 'app.config'を安全に配布できますか?App.ConfigとWeb.Configの違いは?

もしあなたが見なければならない眩しいGOTCHASがあれば、それはありますか?

TNX

答えて

26

Web.Configはasp.netのWebプロジェクト/ Webサービスのために使用されています。

App.Config

は、Windowsフォーム、Windowsサービス、コンソールアプリと

ご質問は落とし穴さんがあなたのためにあるのかもしれない場所へと、すべての情報を提供していないWPFアプリケーションに使用されます。

あなたはこれらの設定ファイルに関して何をしようとしているかについてもっと詳しく知っていますか?ここで

+0

これは完全に真実ではありません。私はWCFサービスライブラリプロジェクトを作成しましたが、web.configではなくapp.configを使用します。私は違いがapp.config最終状態ではなく、web.config最終的なものであることを理解しています。 – mantoviejo

-7

のapp.configはコンパイル時に行われているのに対し、Web.configファイルは、実行時に解析されます。したがって、マシン上のApp.configを編集すると、サービスを開始するときに更新されません。 web.configファイルを編集すると、Webサイトの起動時にチェックされます。

+16

申し訳ありませんが、これは基本的に間違っています。コンパイル時に、app.configのコピーが作成され、[出力] .configという名前に変更され、ビルドフォルダに移動さ​​れます。このコピーをあなたの心の中身に変更することができ、あなたの変更はアプリケーション/サービス/ etcが開始されるたびに読み込まれます。 –

27

Documentationを読む:

Web.configファイルとのApp.config

コンフィギュレーションファイル名の選択はあなたがサービスのために選択した ホスティング環境によって決定されます。 IISを使用してサービスをホストする場合は、 Web.configファイルを使用します。他のホスティング環境を使用している場合は、 のApp.configファイルを使用してください。

Visual Studioでは、最終設定ファイル の作成にApp.configという名前のファイルが使用されます。 構成で実際に使用される最終的な名前は、アセンブリ名によって異なります。たとえば、 "Cohowinery.exe"というアセンブリ の最終構成ファイル名は "Cohowinery.exe.config"です。ただし、 App.configファイルを変更するだけで済みます。そのファイルに対する変更は、コンパイル時に最終的なアプリケーション構成ファイル に自動的に行われます。

アプリケーションが起動され、構成が適用されると、構成システムがファイルを使用して、 App.configファイルをMachine.configファイルの内容とマージします。このメカニズム を使用すると、Machine.configファイルでマシン全体の設定を定義できます。 App.configファイルを使用して、 Machine.configファイルの設定を上書きすることができます。 Machine.configファイルの設定をロックして使用することもできます。 Web.configの場合、 構成システムは、 のすべてのディレクトリにあるWeb.configファイルをアプリケーションディレクトリに接続し、 が適用される構成にマージします。

関連する問題