私はVS2005を持っており、現在ASP.net Webアプリケーションをデバッグしようとしています。コードビハインドのコードを変更したいのですが、ブレークポイントで停止して何かを編集しようとするたびに、次のエラーメッセージが表示されます。「デバッガが既に実行中のプロセスにアタッチされているときは変更できませんデバッグ中のコードが最適化されています。デバッグ時にソースコードを編集する
「編集と継続」のオプションがすべて有効になっていることは間違いありません。助言がありますか?
私はVS2005を持っており、現在ASP.net Webアプリケーションをデバッグしようとしています。コードビハインドのコードを変更したいのですが、ブレークポイントで停止して何かを編集しようとするたびに、次のエラーメッセージが表示されます。「デバッガが既に実行中のプロセスにアタッチされているときは変更できませんデバッグ中のコードが最適化されています。デバッグ時にソースコードを編集する
「編集と継続」のオプションがすべて有効になっていることは間違いありません。助言がありますか?
アプリケーションは、実際にはコードのコンパイル済みバージョンで動作しています。それを変更すると、変更を反映するために再コンパイルする必要があります。つまり、新しいコンパイル済みバージョンの実行中のバージョンをスワップアウトする必要があります。これはかなり難しい問題です。それが、Microsoftが不可能にした理由です。彼らが実際にはいなかったときにいくつかの変更が加えられたと思うことから、あなたを守ることがもっとあります。
実行中に*.aspx
ファイルを変更することは許可されています。また、Webインスタンスを最新表示してその変更をすぐに確認することもできます。ただし、プログラムの実行中に*.cs/*.vb
または*.designer.cs/*.designer.vb
ファイルを変更することはできません。
これは直感的ではないように見えるかもしれませんが、編集をやり続けてください。
「読み取り専用ファイルの編集を許可する」または「デバッグしていても編集できるようにする...実際にはありません!どこかに設定していますが、私はチェックするために見るために2005年を持っていません。 2008年
、編集をオフにして続行し、それが実行している間、あなたは編集することができます(ただし、これらの変更がapppliedされていません。)
あなたが実際に編集を使用し続けたい場合は、それを有効にする必要がありますプロジェクト、プロジェクト設定のWebタブに表示されます。
ありがとう! – youwhut
Asp.netの場合、2つのタイプの「編集と継続」を考えることができます。
古典的な編集とブラウザの更新があります。これは、ブラウザのリフレッシュによって、コンパイルされたコードの背後にあるファイル以外のすべてが再コンパイルされるためです。これは編集と継続とは呼ばれませんが、実際には同様の効果があります。このモードでは、ファイルがプリコンパイルされてデプロイされているため、コードビハインドファイルを変更することはできませんが、他のものについては変更することができます。
別のモードでは、ファイルの背後にあるコンパイル済みのコードを変更することはできますが、これ以外の方法はありません(これはASP.Netのプロジェクトプロパティで設定する必要があるChris Bilsonの記述です)。この場合、デバッガの編集と継続の機能を使用しています。これは、ASP.netについてはあまり知りません。デバッガは読み込まれた.Netアセンブリを見るだけで、デバッガで停止したときにそのアセンブリを変更することができます。これは、ソリューションの構築方法を知っているプロジェクトがあるためです。この場合、デバッグセッションを混乱させるような事態を修正することはできません。しかし、この方法は、ブラウザの更新が必要ではなく、実行中のコードを変更する唯一の方法です。
すばらしいことに、[ウェブプロジェクトで有効にして続行]タブを設定して問題を解決しました。 – Greg
リリースモードではないことを確認します。 リリースモードでは、デバッグ中にコードを編集することはできません。ちょうどので、ここでそれを期待している、私は、Visual Studio 2008のWAP(Webアプリケーションプロジェクト)にこのを検索
をデバッグするためのモードを変更し、それが解決策を見つけるために二日かかった、それは他の誰かに役立ちます:
デバッグ - 編集と継続 - 有効にして編集を続行する、もう1つはプロジェクトプロパティを右クリックする - Web-Enable編集と継続
ありがとうRob。私はいつもこの2位を忘れる。 – dustinson
レコードのためにチェックする必要がある2つの場所があります。私はVS 2008と同様の問題を抱えていましたが、別の解決策が私の問題を解決しました。 Editing code in Visual Studio 2008 in debug mode
>実際にはそうでなかったときにいくつかの変更が加えられたと思って、あなたを守ることがさらに重要です。 これは、表示されるソースコードがコンパイルされたものと異なるというメッセージを表示することによって回避されます。私はこれを行うのに使用されたVSや他の製品もそうしていることを覚えているようです。 – mayu