完成後に デバック? ビルド?

解決


もんち  2008-02-27 02:48:42  No: 139081

VB2008の初心者です。

プログラムが完成し配布したいのですが、そこで質問です。

まず、ディレクトリが
bin obj publish
この3つのファイルの中身の違いがよくわかりません。
とくに、bin obj には双方ともにDebugとReleaseがあり
どのEXEファイルも正常に動作します。

ビルドや発行の違いや、配布するときの手順など教えてください。


やじゅ  2008-02-27 04:28:39  No: 139082

リリースでコンパイルしてください。
Releaseだと、余計なdebug文とかを削除してくれるので、
容量も小さくなるし、その分若干速度が速くなります。


もんち  2008-02-27 04:39:26  No: 139083

発行やビルドはどうちがうのですか?


もんち  2008-02-27 04:40:27  No: 139084

bin obj  もわかりません。


TN  2008-02-28 04:34:29  No: 139085

obj のフォルダのほうがファイルが多いです。

よく分からないのですが、発行のほうはなんかインストールとかしています。(CD-ROMからインストールするとかWebサイトからインストールするとかオプションに書いてありますけど)

やじゅさんが言うとおりreleaseのEXEファイルからすればいいと思います。
よくわからないので、詳しい人が居たらこちらからもお願いします。


さるべーじ  URL  2008-02-28 20:48:54  No: 139086

このあたりは、「ビルドの仕組」というお話になりますね。

一般的に、「ビルド」と呼ばれている処理は、「コンパイル」と「リンク」の
2段階の作業を行います。

「コンパイル」では、ソースコードをアセンブリコード
(VB2008であればMSILですね)に変換します。

「リンク」では、コンパイルで生成したアセンブリコードとリソースなどの
周辺データを混ぜ合わせ、実際に動作するプログラムファイルを生成します。

で。

まずコンパイルの段階で、ソースコードから生成したアセンブリコードを、
一度ファイルとして保存します。
また、リンクの第一段階では、動作するプログラムファイルに混ぜ合わせる
リソース等を、混ぜ合わせることのできる状態にまで組み合わせ、
やはりこの段階で一度ファイルとして保存します。

「obj」フォルダに生成されるファイルは、この段階のものです。

objフォルダに「プログラムを生成するのに必要なすべてのファイル」が
揃ったら、今度はリンクの第二段階として、これらのファイルを組み合わせて
実際に動作するプログラムを生成し、その結果をまたファイルとして保存します。

この「動作するプログラムの保存先」が「bin」フォルダです。

---

「ビルド」にはおおまかに、「デバッグビルド」と「リリースビルド」の
2種類のビルド方法があります。

Visual Studioでは、Visual Studio IDE(開発環境プログラム)と連動して
1行ずつ実行したり、強制的に別の位置のコードまで実行ポインタを
移動させたりすることで、柔軟にデバッグ作業ができるようになっています。

「IDEと連動してデバッグできる状態で動作」するために、通常のビルドではなく、
あちこちにIDEと連動するための目印を埋め込んだり、デバッグ専用の
コマンドまでコンパイルして生成するビルドが「デバッグビルド」です。

これはコンパイルの段階からデバッグ情報を埋め込んだコードを生成しますので、
コンパイル結果を「obj\debug」、ビルド結果を「bin\debug」に保存します。

しかしこのデバッグ情報付きビルドでは動作が遅く、またファイルサイズも
大きくなります。
完成した時点ではデバッグ情報はまったく必要なくなりますので、
大きくて重いだけ損です。
そこで、配布できる完成版を生成するために「リリースビルド」を行います。

リリースビルドのコンパイル結果は「obj\release」、ビルド結果は「bin\release」に
保存されることとなります。

---

Windowsアプリケーションプロジェクトがひとつだけのソリューションであれば、
ここまでで配布できます。bin\Releaseの中にあるファイルを全部コピーしてやれば
いいんですね。

で、例えば、簡単なインストーラを作成したい時や、ClickOnceプログラムとして
配布したい時、またWebアプリケーションをWebサーバへアップしたい時などに、
「発行」を使います。

「発行」は、bin\releaceに保存されている「動作するプログラムファイル群」を、
発行ウィザードの中で指定した方法で配布/登録できるような形にまとめます。

「publish」は確かClickOnce用発行の結果を格納するフォルダだったと思います。
(すいません、ここはちょっとうろ覚え^^;)


もんち  2008-02-28 21:06:27  No: 139087

心のもやもやがこれましたw

ありがとうございます。


TN  2008-02-29 03:58:21  No: 139088

僕も見せてもらいました。

ありがとうございました

ビルトってけっこういろんなことしているんですね


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加