はじめに
前からちょくちょく見受けられたけれども、やはりやってしまう人は多いようなので
自戒の念と共にここに記しておきます。
ソフトウェアをDLして解凍またはセットアップしたexeのところに、appname.vshost.exe
とかappname.pdb
とか見かけたことはありませんか?
これらはVisual Studioでビルドする際に、Debugビルドでは非常に有効なファイルですが、Releaseビルドでは不要なファイル達だったりします。
なので、必ず下記の2つの設定をReleaseビルド構成に施しておきましょう。
1. ホスティングプロセスを無効にすること
これはあまり見かけなくなったけど、やはりやってしまう人はいるようです。
プロジェクトのプロパティでデバッグページにある
- Visual Studio ホスティング プロセスを有効にする(O)
のチェックを外して
- Visual Studio ホスティング プロセスを有効にする(O)
こうすることで無駄なappname.vshost.exe
というファイルが生成されなくなります。
2. pdbファイルの出力をしない
こちらはまだまだ結構な人が出力しちゃってるんじゃ無いでしょうか?
そしてexeを配布する際に、pdbファイルを削除してzipで固めて…とかやってるのではないかと思います。
pdbファイルは
Program DataBase (プログラムデータベースファイル)
と言って、デバッグとプロジェクト状態情報を保持しています。
すなわち、このファイルの中には各種情報が詰まっているのです。
もしもVisual Studioのデフォルトの場所(マイドキュメント)でプロジェクトを作っていたならば、あなたの使っているPCのユーザー名が漏洩します。確実に。
またDebugビルドではこのファイルを元にブレークポイントがかけられますので、Debug時は有効なファイルであることは確かです。
しかしReleaseビルド時には不要ですね。
なのでpdbファイルを出力しないように設定を変えましょう。
こちらも同じくプロジェクトのプロパティで、ビルドページから右下にある詳細設定を押下し、ビルドの詳細設定ウィンドウを出します。
その中の出力にあるデバッグ情報というところがpdb-only
となっているはずですから、こちらをnone
に変えましょう。
尚、Visual Studio 2015となった今でも、上記2つのデフォルト設定を行うところは存在していないようです。
なので新規プロジェクトを作成した際には、忘れず上記の2つ設定を行っておきましょう。
またこれらの設定はどんなプロジェクトであってもやっておきましょう。フォーム/コンソールは言わずもがな、Visual StudioのExtention(配布時の拡張子がvsix)やWebプロジェクトであってもやっておきましょう。
Extensionであるvsixファイルはただのzipファイルですから、拡張子を変えたら中身が丸見えです。解凍してファイルを抜き出すことも…。
さぁ、年明けの仕事始めの際、自分の持ってるVisual Studioのプロジェクトの設定を見直すことから始めよう!