.NET TIPS

.vshost.exeファイルと.pdbファイルが生成されないようにするには?[VS 2008、VS 2005]

デジタルアドバンテージ 一色 政彦
2009/01/22

 Visual Studioでプロジェクトをビルドする際、ソリューション構成が「Release」(=製品リリース版)であっても、拡張子が「.vshost.exe」や「.pdb」の、エンド・ユーザーの実行環境には必ずしも必要のないファイルが生成される(.pdbファイルはデバッグ時に使われるデバッグ情報データベース・ファイルで、.vshost.exeファイルはVisual Studio 2005以降のIDEが使うVSホスト・プロセスである)。

 例えば次の画面は、あるサンプル・プログラムをリリース・ビルドした場合の出力先ディレクトリの内容であるが、「ConsoleApplication15.pdb」というファイルと、「ConsoleApplication15.vshost.exe」というファイル(それに付属する「ConsoleApplication15.vshost.exe.manifest」というファイル)が生成されている。

リリース・ビルド時に生成される.vshost.exeファイルと.pdbファイル

 本TIPSでは、これらのファイルが生成されないようにする方法を紹介する。対象はVisual Studio 2005以降とする。

■.vshost.exeファイルが生成されないようにする方法

 まず、リリース・ビルド時に.vshost.exeファイルが生成されないようにするには、プロジェクトのプロパティの[デバッグ]タブを開き、[構成]コンボボックスから「Release」を選び、[Visual Studio ホスティング プロセスを有効にする]チェック・ボックスのチェックを外せばよい。詳しくは「TIPS:VSホスト・プロセス(*.vshost.exe)とは何か?」を参照してほしい。

■.pdbファイルが生成されないようにする方法

 次に、リリース・ビルド時に.pdbファイルが生成されないようにする方法だが、C#とVB(Visual Basic)では設定場所が若干異なる。

 C#の場合、次の画面のように、プロジェクトのプロパティの[ビルド]タブにある[構成]コンボボックスから「Release」を選び、右下にある[詳細設定]ボタンをクリックして[ビルドの詳細設定]ダイアログを開き、[デバッグ情報]コンボボックスの値を「pdb-only」から「none」に変更すればよい。

.pdbファイルが生成されないようにする設定(C#の場合)
C#の場合は、以下の手順で設定を行い、[Ctrl]+[S]キーなどでプロジェクトのプロパティを保存する。なお、プロジェクトのプロパティを開くには、[ソリューション エクスプローラ]でプロジェクト項目を右クリックして、表示されるコンテキスト・メニューから[プロパティ]を実行すればよい。
  プロジェクトのプロパティの[ビルド]タブを開く。
  [構成]コンボボックスから「Release」を選択する。
  右下にある[詳細設定]ボタンをクリックして[ビルドの詳細設定]ダイアログを開く。
  [デバッグ情報]コンボボックスの値を「pdb-only」から「none」に変更する。
  最後に[OK]ボタンをクリックして設定を完了する。

 VBの場合は、プロジェクトのプロパティの[コンパイル]タブにある[構成]コンボボックスから「Release」を選び、右下にある[詳細コンパイル オプション]ボタンをクリックして[コンパイラの詳細設定]ダイアログを開き、[デバッグ情報を作成]コンボボックスの値を「pdb-only」から「None」に変更すればよい。

.pdbファイルが生成されないようにする設定(VBの場合)
VBの場合は、以下の手順で設定を行い、[Ctrl]+[S]キーなどでプロジェクトのプロパティを保存する。なお、プロジェクトのプロパティを開くには、[ソリューション エクスプローラ]でプロジェクト項目を右クリックして、表示されるコンテキスト・メニューから[プロパティ]を実行すればよい。
  プロジェクトのプロパティの[コンパイル]タブを開く。
  [構成]コンボボックスから「Release」を選択する。
  右下にある[詳細コンパイル オプション]ボタンをクリックして[コンパイラの詳細設定]ダイアログを開く。
  [デバッグ情報を作成]コンボボックスの値を「pdb-only」から「None」に変更する。
  最後に[OK]ボタンをクリックして設定を完了する。

 以上の設定が完了したら、([Ctrl]+[S]キーを押すなどして)いったんプロジェクトのプロパティを保存し、メニューバーの[ビルド]−[<プロジェクト名>のクリーン]を実行したうえで、再度Release版をビルドしてみてほしい(.vshost.exeファイルは、[<プロジェクト名>のクリーン]では消えないようなので、手動で削除しなければならない)。.vshost.exeファイルも.pdbファイルも生成されないはずだ。End of Article

カテゴリ:Visual Studio 2008 処理対象:IDE
カテゴリ:Visual Studio 2005 処理対象:IDE

この記事と関連性の高い別の.NET TIPS
VB開発者設定で「Debug」や「Release」などのソリューション構成を有効にするには?
VSホスト・プロセス(*.vshost.exe)とは何か?
Visual Studio 2005で実行ファイルのあるフォルダを開くには?
VS.NETでデバッグ版/リリース版以外のビルド構成を追加するには?
Windowsフォームで構成ファイルによりプロパティ値を設定するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間