- PR -

プログラムを修正してデバッグしても、修正した結果が反映されません。

投稿者投稿内容
Azulean
大ベテラン
会議室デビュー日: 2008/01/04
投稿数: 123
お住まい・勤務地: 大阪府
投稿日時: 2008-05-28 00:19
引用:

-------------------------------------
「プログラムを変更しても反映されない問題が起きている。
これを解決したいがどうしたら良いか?何が考えられるか?」

に対して

「答えるのは難しいよ」
-------------------------------------


すみません。
この発言は質問全体を拒否しているように捉えられる内容でした。申し訳ありません。

[ メッセージ編集済み 編集者: Azulean 編集日時 2008-05-28 00:21 ]
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2008-05-28 00:25
引用:
One.netさんの書き込み (2008-05-27 20:21) より:
力不足で意味が理解できません。「メニューの下の段あたりに Debug」とはツールバーにあります「デバック開始]ボタンのことでしょうか。コンボボックスでRelease に変更してとの意味が分りません。


えーと、うまく伝えられそうにないので、代わりに [構成マネージャ] ウィンドウの [アクティブ ソリューション構成] を Release に変更して閉じてください。
あとはリビルド後 Ctrl + F5 で実行してください。

引用:
One.netさんの書き込み (2008-05-27 20:21) より:
もともと他のフォームで発生したことなのですが、徹すとの繰返しが面倒なので、メインメニューに[印刷]ボタンを配してデバッグを繰返しテストしていました。


了解です。

引用:
One.netさんの書き込み (2008-05-27 20:21) より:
明日までに行ってみたいと思いますが、新たにプロジェクトを作成して、そこに現行プロジェクトのファイルを全てコピーするのですね。結果を明日報告いたします。


了解です。

引用:
One.netさんの書き込み (2008-05-27 20:21) より:
なお 2008-05-27 18:30 や 2008-05-27 18:50 のご返事は Jitta さんの質問に対する返事でしょうか。私も「起動時に確認する」や「起動しない」に設定して実行しましたが以前と同様で解決しません。


んー、「起動時に確認する」で解決だと思ったんだけどなぁ。
ところで、一度 bin フォルダと obj フォルダを削除してるのに実行ファイルが旧バージョ
ンなんですよね。旧バージョンの実行ファイルはどこから現れたんだろう・・・。
以下の手順も試してもらえますか?

1. 適当な場所にブレークポイント貼っておいてデバッグ実行
2. ブレークポイントで止めた状態にする
3. ソースコードを適当に右クリックし、クイックウォッチを開く
4. クイックウォッチに AppDomain.CurrentDomain.BaseDirectory と入力
5. [再評価] ボタンをクリックし、表示された値を確認

この手順で、実行ファイルが格納されているフォルダを確認することができますので、確認した具体的な値を教えてください。(プロジェクト名とか見せたくなかったら伏字にしてもらって結構です。)

_________________
C#と諸々

[ メッセージ編集済み 編集者: よこけん 編集日時 2008-05-28 00:27 ]
Azulean
大ベテラン
会議室デビュー日: 2008/01/04
投稿数: 123
お住まい・勤務地: 大阪府
投稿日時: 2008-05-28 00:28
binとobjフォルダを削除した上で、そのプロジェクトをフォルダごとマイドキュメントに移動すると変化が起きる…なんてことはないですよね。

手間がかからなければ試してみる価値はあるかもしれません。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-05-28 01:08
DLL作っています?




One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-05-28 07:50
Azuleanさん、了解です。
「難しい問題はIT会議室だけでは時間が掛かる。近くに聞く人はいませんか」ということですね。その通りですが難しいことは逆にIT会議室にお願いする始末です。
また、続いてご指摘いただいた「binとobjフォルダを削除した上で、そのプロジェクトをフォルダごとマイドキュメントに移動するしてから実行する」件、了解です。

ぴあちゃんさん、「DLL作っています?」のご指摘ありがとうございます。
DLLは作っていません。


よこけんさん、最初からお付き合いいただき本当に申し訳ありません。
新たにプロジェクトを作成して、そこに現行プロジェクトのファイルを全てコピーする件、これから行い結果を報告します。
それにしても「一度 bin と obj フォルダを削除してから実行しても旧バージョンが立ち上がるのは不思議ですね。何もコードを変更しない(ボタンだけ追加)状態でブレークポイントを設定してデバックすると確かにブレークポイントで止まります。(再度バックアップで確認しました)このことは間違いなくブレークポイントを設定したバージョンが立ち上がっていること思います。さらによこけんさんからの指摘で、コードを追加してからブレークポイントを設定してデバッグすると、なぜブレークポイントで止まらなくなったのでしょうか。
とにかく追加指示いただきました「クイックウォッチの[再評価] で表示される値」を含めて報告いたします。しばらくお時間下さい。
One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-05-28 09:34
よこけんさん、報告が遅くなりました。以下テスト結果を報告します。

1.新たにプロジェクトに現行プロジェクトのファイルを全てコピーする件
新たなプロジェクト(My Documents\WindowsApplication1)を作成し、ここに
バックアップしておいた現行プロジェクトを(*.sln、*.suo及びプロジェクトフォルダー)
をコピーしましたがソリューションエクスプローラにはMyProject,app.config,Form1.vb
しか表示されません。デバックしても数多くのエラーが発生します。

2.クイックウォッチによる再評価の値について
名前:AppDomain.CorrentDomain.BaseDirectory
値: c:\VisualBasic2005\abc\abc\bin\Debug\ (abcはプロジェクト名)
型: String

3.[構成マネージャ] でRelease に変更しててから Ctrl + F5 で実行について
なんとメインメニューに追加したボタンが配置されて表示されました。
またメインメニューに 次のコードを追加してデバッグしますとメッセージが表示され
[OK]ボタンで正常にメインメニューが表示され、画面には追加配置したボタンが
表示されています。
MessageBox.Show("ただいまテスト中です。")

この後の処理をどのようにすればよいのかご指導下さい。


One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-05-28 10:09
Azuleanさん、binとobjフォルダを削除してのテスト結果を報告します。
この件は、削除したはずの旧バージョンがなぜ実行されるのかについてよこけんさんも
疑問視しておられました。まず、旧バージョンしか立ち上がらないプロジェクトのバックアップを別のフォルダーにコピーしてそのメインメニューにボタンの見張りつけてテストしました。

1.そのままの状態でデバックしましたがボタンが張り付いていない旧バージョンが立ち上がりました

2.このプロジェクトからbinとobjフォルダを削除し、そのままの状態でデバックしました。すると昨日は確かに旧バージョンが立ち上がりましたが今日はなんとボタンの張り付いた新バージョンが立ち上がりました。昨日は私も不思議に思い深夜にも同じテストを行ったのですが旧バージョンしか立ち上がりませんでした。

よねけんさんに指示されたテストを行い新バージョンが立ち上がるようになったて環境が変わったことが関係しているのでしょうか。よねけんさんのテストに使ったプロジェクトではなく、バックアップしておいた旧バージョンしか立ち上がらないプロジェクトをコピーして使いましたが今は、binとobjフォルダを削除すると正常にプログラム変更が反映される新バージョンが立ち上がります。

よって、プロジェクトをマイドキュメントに移動してのデバックは中止しましたのであしからず。

_________________


[ メッセージ編集済み 編集者: One.net 編集日時 2008-05-28 10:12 ]
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2008-05-28 11:20
ちょっと時間がないので手短に。

Release ビルドなら正常に行ったんですね。(理由は見当つきませんが^^
そしたら、ひとまずは常に Release ビルドで開発を進めてしまうのもアリかと思います。(Debug ビルドと Release ビルドについてはしっかり抑えておくことをお勧めします。)

引用:
One.netさんの書き込み (2008-05-28 10:09) より:
バックアップしておいた旧バージョンしか立ち上がらないプロジェクトをコピーして使いましたが今は、binとobjフォルダを削除すると正常にプログラム変更が反映される新バージョンが立ち上がります。



そちらのプロジェクトは構成マネージャで Debug に設定されていても問題ないということですか?
_________________
C#と諸々

スキルアップ/キャリアアップ(JOB@IT)