- - PR -
プログラムを修正してデバッグしても、修正した結果が反映されません。
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-05-29 16:46
スレッドを立てたOne.netです。次のようにすると再現しました。
1.日時を6月29にちにっ変更する 2.開発中のプロジェクトを立ち上げる。 3.この状態でメインメニュー(スタートページ)を次のように編集 ・フォームにボタンを配置するだけ(.Designer.vbの編集) ・ソースに MessageBox.Show("テスト")を追加 4.上記の修正後デバッグする(編集したとおり正常に動作しました) 5.プロジェクトを保存する 6.PCの日時を5月29日に戻す 7.再度同じプロジェクトを立ち上げる。 8.この状態でメインメニュー(スタートページ)を次のように編集 ・フォームにTextBoxを配置するだけ(.Designer.vbの編集) ・ソースに MessageBox.Show("時間を戻した。")を追加 9.上記の修正後あデバッグする→6月29日の状態でしか実行しません。 以上ですが、又出かけますので失礼します。 [ メッセージ編集済み 編集者: One.net 編集日時 2008-05-29 16:47 ] [ メッセージ編集済み 編集者: One.net 編集日時 2008-05-29 18:21 ] | ||||||||
|
投稿日時: 2008-05-29 20:57
スレッドを立てたOne.Netです。
問題は、bin, obj フォルダを削除しても編集前の旧バージョンが立ち上がってしまうことでしたね 先ほど( 2008-05-29 16:46)再現したプロジェクトのバックアップを取ってbin, obj フォルダを削除した後のテストを次のように行いました。 1.プロジェクトを立ち上げ3度目の編集を次のように行いました ・フォームにボタン2を配置しました。(配置のみ) ・ソースに MessageBox.Show("テスト2")を追加 2.上記の編集後にデバックするとやはり6月29日の編集内容で実行されました。 ※内容:「テスト」のメッセージが表示され、[OK]ボタンを押しても「時間を戻した」や「テスト2」のメッセージは表示されずにメインメニューが表示され、フォームにはボタン1のみが配置されています。 (PCの日時は5月29日です) ちなみにプロジェクトを一旦保存してからデバックする次のようなテストも行ってみました。 1.( 2008-05-29 16:46)再現したプロジェクトのバックアップでbin, obj フォルダを削除しました。 2.そのプロジェクトを立ち上げ4度目の編集を次の用に行いました ・フォームにボタン3を配置しました。(配置のみ) ・ソースに MessageBox.Show("テスト3")を追加 3.一旦このプロジェクトを終了させて保存しました。 4.続けて保存したプロジェクトを再度立ち上げデバックしました。結果は4度目の編集結果で正常に実行されました。 (PCの日時は5月29日です) 以上の通りPCの日時を元に戻してからプロジェクトを立ち上げ、編集をした後 A.そのままデバックすると旧バージョンが立ち上がる B.一旦保存して再立上げしてからデバックすると最新バージョンが立ち上がる。 以上、取り急ぎ報告まで。 [ メッセージ編集済み 編集者: One.net 編集日時 2008-05-29 21:14 ] | ||||||||
|
投稿日時: 2008-05-30 17:35
開発環境がソースファイルがビルド対象かどうかを判断する時には
通常、日付を使います。 つまりターゲットファイルよりもソースファイルが新しいとビルド対象になります。 ソースファイルの方が古いといつまでたってもビルド対象になりません。 最初の方でタイムスタンプの問題を挙げていましたが、 この手の自動ビルドを行なうタイプの開発環境では割とメジャーな話です。 昔の環境で言うならmakeファイルを使ったビルドの自動化をしていると同じような 現象が起こる事が良く知られています。 なので、開発機の日付をいじるような時はよくよく気をつけていないと ハマリ込む事になります。 また、ファイルサーバーとクライアントの微妙な時間のズレが原因で同じような 問題が起こることも有りますので注意が必要です。 | ||||||||
|
投稿日時: 2008-05-30 21:07
ぱておさん、ありがとうございます。
ソースファイルをビルドする時 → ソースファイル更新日時 > ターゲットファイル更新日時との事ですが、ソースファイルとは*.Designer.vb や*.vb で、ターゲットファイルとはbin\Debug\*.exe と解釈してよいのでしょうか。
よくわかりました。だとすると開発機の内部クロックを進めてソースファイルを更新してしまった場合にはターゲットファイル更新日時を現在より前に遅らせて設定すればトラブルは回避できるのでしょうか。 よろしくご指導下さい。 [ メッセージ編集済み 編集者: One.net 編集日時 2008-05-30 21:14 ] | ||||||||
|
投稿日時: 2008-05-30 22:56
前にも VisualBasic Express Edition で、ツールの操作関係でゴタゴタがあったので、インストールしてみました。
ちょっと、マイクロソフト。サポートすること(サポート部隊のこと)考えてネーだろ? | ||||||||
|
投稿日時: 2008-05-30 23:19
Jittaさん、 VisualBasic Express Edition 使用者のために上位 Editionとの比較をインストールしてまで解説いただきありがとうございます。実際に@IT会議室での質問者は Express Edition の使用者も多いと思いますが、回答される先輩とのコミニケーションが的外れになり、本当に困ります。といって回答者の方にExpress Edition も勉強して欲しいとは口が裂けてもいえませんし、いつもわびしい思いをしていました。
夜遅くありがとうございました。 [ メッセージ編集済み 編集者: One.net 編集日時 2008-05-30 23:38 ] | ||||||||
|
投稿日時: 2008-05-31 01:24
プロジェクトを保存することにより、新しいプロジェクトを追加することができます。 これにより、1ソリューションで複数のプロジェクトを保持することができます。
複数プロジェクトにすることにより、メインメニューに登場します。 でも、分かりにくいですね。 | ||||||||
|
投稿日時: 2008-06-01 00:06
Express Edition と他の Edition の違いを甘く見てました。
One.net さんが最初から明記してある以上、このことは完全に僕に非があります。 大変申し訳なかったです。 _________________ C#と諸々 |