VS2008でアプリケーションをコンパイルすると、2つの同一の構成ファイルが作成されることがあります。
後者は何のためですか?
これは、vshostプロセスとその目的について述べたブログ投稿です。
VS内でデバッグする場合、アプリケーションは[appname] .vshost.exeと呼ばれるため、.vshost.exe.configファイルは、.netランタイムがプログラムの構成を探す場所です。
私はこの行動について別のことに気づきました。
VSは[appname] .vshost.exe.configという構成を作成しますが、API呼び出しは次のようになります。
var s = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
この名前を返すのではなく、次を返します:[appname] .config
これはVS2010を使用していました。 VS2008ではチェックされていません
このファイルの唯一の目的は、Process.Visual Studioホスティングプロセスのデバッグとホスティングを支援して、デバッガーのパフォーマンスを向上させることです。パーシャルトラストデバッグやデザイン時の式評価など、新しいデバッガー機能を有効にします。
ホスティングプロセスを無効にすると、プロジェクトのプロパティの[セキュリティ]ページで部分信頼セキュリティが有効になっていても、部分信頼デバッグは機能しません。
これを無効にするには、[プロジェクト]メニュー-> [プロパティ]-> [デバッグ]タブ-> [Visual Studioホスティングプロセスを有効にする]チェックボックスをオフにします。デザイン時の式は常にホスティングプロセスを使用します。プロジェクトプロパティでホスティングプロセスを無効にすると、クラスライブラリプロジェクトのデザイン時の式評価が無効になります。
他のプロジェクトタイプの場合、設計時の式評価は無効になりません。代わりに、Visual Studioは実際の実行可能ファイルを開始し、ホスティングプロセスなしで設計時の評価に使用します。