c# - 違い - vshost 不要




vshost.exeファイルの目的は何ですか? (4)

vshost.exeファイルは、Visual Studio(Visual Studioホスト実行ファイル)によって実行可能な実行ファイルです。 これはVisual Studioにリンクし、デバッグを改善する実行可能ファイルです。

アプリケーションを他の人に配布する場合は、vshost.exeまたは.pdb(デバッグデータベース)ファイルを使用しないでください。

C#で「hello world」アプリケーションを作成してコンパイルすると、メインのexe(HelloWorld.exeなど)とは別に、Debugフォルダに3つのファイルがあります。

  1. HelloWorld.vshost.exe
  2. HelloWorld.pdb
  3. HelloWorld.vshost.exe.manifest

これらのファイルの目的は何ですか?


vshost.exe機能は、(あなたのコメントに答えるために)VS2005で導入されました。

その目的は、主にデバッグをより早く開始させることです。基本的には、フレームワークを実行しているプロセスが既にあります。すぐにアプリケーションをロードする準備ができています。

詳細については、 このMSDNの記事このブログ 記事を参照してください。


私はよくわからないが、私はそれがデバッグの最適化だと思う。 しかし、私は通常それをオフにします(プロジェクトのデバッグプロパティを参照してください)、私は減速に気付かず、デバッグに関しては何の制限も見ませんので、Guardが述べたようにデバッグには必要ありません。


追加すると、 リリースビルド構成のvshostファイルの作成をオフにし、 デバッグを有効にすることができます。

ステップ

  • プロジェクトのプロパティ > デバッグ >構成(リリース)> Visual Studioのホスティングプロセスを無効にする
  • プロジェクトのプロパティ > デバッグ >構成(デバッグ)> Visual Studioのホスティングプロセスを有効にする

参照

  1. MSDN方法:ホスティングプロセスを無効にする
  2. MSDNホスティングプロセス(vshost.exe)

MSDNからの抜粋方法:ホスティングプロセスを無効にする

特定のAPIの呼び出しは、ホスティングプロセスが有効になっているときに影響を受ける可能性があります。 このような場合、正しい結果を返すためにホスティングプロセスを無効にする必要があります。

ホスティングプロセスを無効にするには

  1. Visual Studioで実行可能プロジェクトを開きます。 実行可能ファイルを生成しないプロジェクト(クラスライブラリやサービスプロジェクトなど)には、このオプションはありません。
  2. [ プロジェクト ]メニューの[ プロパティ ]をクリックします
  3. [ デバッグ ]タブをクリックします。
  4. [Visual Studioホストプロセスを有効にする]チェックボックスをオフにします。

ホスティングプロセスを無効にすると、いくつかのデバッグ機能が利用できなくなるか、パフォーマンスが低下します。 詳細については、「 デバッグとホスティングプロセス 」を参照してください。

一般に、ホスティングプロセスが無効になっている場合:

  • .NET Frameworkアプリケーションのデバッグを開始するのに必要な時間が長くなります。
  • デザイン時式の評価は利用できません。
  • 部分信頼デバッグは利用できません。




debugging