2012-03-15 1 views
6

.NETでは、プロジェクトをビルドした後に、時にはapp.configを持っていて、他の時にbinaryname.dll.configファイルを持っているのはなぜですか?私は時々app.configを持ち、他の時にはbinaryname.dll.configファイルを持っていますか?

+2

良い質問です。また、バイナリ名.vshost.exe.configはなぜですか? –

+1

@Valamas。 Visual Studioのホスティングプロセスでは、起動時に設定ファイルも必要になります。 Visual Studioホスティングプロセスは、次の目的で使用されます。http://msdn.microsoft.com/en-us/library/ms242202.aspx –

+1

@Valamas:Visual Studioでは、デバッグの経験を向上させるためのホスティングプロセスが作成されます。このプロセスの名前は 'binaryname.vshost.exe'であり、このプロセスが正しく設定されていることを確認するため、' config'ファイルのコピーを使用してホスティングプロセスの名前に合わせて名前を変更します。ホスティングプロセスに関する詳細情報:http://msdn.microsoft.com/en-us/library/ms242202.aspx –

答えて

8

(Visual Studioで)開発中にapp.configファイルとして表示されます。デプロイされると(binディレクトリと同様に)、app.configはbinaryname.dll/exe.configファイルになります(Visual Studioによって自動的に名前が変更されます)。

正確な理由は... app.configとして持っていないのが良い理由です...たとえば、複数のアプリケーションを同じディレクトリに配備すると、1つのアプリケーションだけを持つことができます.config ...それに、binaryname.dll.configという名前を付ける良い理由があります。

本当に疑問があります。最初は、なぜ、appnameという名前のapp.configではなく、binaryname.dll.configという名前ですか?

私が考えることのできる理由の1つは、プロジェクトオプションでバイナリの出力名を変更できることです(コンパイラがプロジェクト名とは異なる名前の.exeファイルを生成するため)、設定ファイルは対応するようにコピーされますそのバイナリ出力名に変換します。ソリューションでそのファイルの名前を変更する必要はなく、常に同じファイル名をコピー先のファイル名にコピーするので、ソリューションにapp.configという名前を付けるほうが優れています(特にそのファイルがソース管理下にある場合)。他にもいくつかの理由があるかもしれません。

関連する問題