web-dev-qa-db-ja.com

編集して続行:「次の場合は変更できません...」

クリーンなWinFormsプロジェクトを作成しても、編集と続行が機能せず、エラーが発生します。

既に実行中のプロセスにデバッガーが接続されている場合、またはデバッグ中のコードがビルドまたは実行時に最適化されている場合、変更は許可されません。

  1. [編集と続行]オプションは、[ツール]→[オプション]→[デバッグ]でチェックされます。
  2. 最適化は有効になっていません。
  3. 管理されたプロファイラーが設定されていないようです。
  4. デバッグモードで実行しています
  5. X64 CPUおよびWindows XP 32ビットで実行していますが、プラットフォームターゲットをAnyCpuではなくx86に設定しても効果がありません。
  6. Visual Studioのインストールを修復しても効果はありません。

また、MSDN Webサイトで この記事 を見つけました。

サポートされていないシナリオ

編集と続行は、次のデバッグシナリオでは使用できません。

  • Windows 98でのデバッグ。

  • 混合モード(ネイティブ/管理)デバッグ。

  • SQLデバッグ。

  • ワトソン博士のダンプのデバッグ。

  • 「未処理の例外でコールスタックを巻き戻す」オプションが選択されていない場合の未処理の例外の後のコードの編集。

  • 組み込みランタイムアプリケーションのデバッグ。

  • [デバッグ]メニューの[開始]でアプリケーションを実行するのではなく、[アタッチ]でアプリケーションをデバッグします。

  • 最適化されたコードのデバッグ。

  • ターゲットが64ビットアプリケーションである場合のマネージコードのデバッグ。編集して続行を使用する場合は、ターゲットをx86に設定する必要があります。 (プロジェクトのプロパティ、[コンパイル]タブ、高度なコンパイラ設定。)。

  • ビルドエラーのために新しいバージョンがビルドに失敗した後、古いバージョンのコードをデバッグします。

しかし、このリストのすべての項目に「いいえ」と答えることができます。

以前は機能していましたが、数日前に機能しなくなりました。その理由はわかりません。

100
nightcoder

私はついに問題を解決しました:NINSTALL Gallio

Gallioにはかなり多くのラフエッジがあるようで、MbUnit 3.0を使用せず、MbUnit 2.0フレームワークを使用し、インストーラー(Visual Studioプラグインもインストールした)からインストールせずに実行しているgallioランナーを使用することをお勧めします。

ちなみに、私は彼のGallioプラグインを「無効化」した後でも問題を抱えていました。アンインストールのみが問題を解決しました。

PS。ナイトコーダーによる編集:
私の場合はTypeMock Isolatorを無効にする(モックフレームワーク)最終的にヘルプ!編集と続行が機能するようになりました!!!

TypeMockサポートからの回答は次のとおりです。

編集と継続の問題をさらに検討し、Microsoftと話し合った後、Isolatorでは解決できないという結論に達しました。 IsolatorはCLRプロファイラーを実装します。調査によると、CLRプロファイラーを有効にして接続すると、編集と続行は自動的に無効になります。これはもはやバグとは見なされず、Isolatorの制限とみなされて申し訳ありません。

18
Pejvan

該当するソリューション

以下は不完全ですnordered Edit&Continueを素早く修正したい場合に試すことができる解決策のリストです:

  • デバッグモードにいることを確認してください
  • 混合モードのプロセスを起動していないことを確認してください
  • CPUターゲットをAnyCPではなくx86に設定してみてください(x64マシン上)
  • プロジェクトプロパティ->デバッグデバッグモードコードの最適化チェックボックスをオフにします。
  • 最適化の有効化 in コンパイラの詳細設定のチェックを外します
  • (ASP.NET) nightcoder's answer その場合
  • (ASP.NET) この回答(matrixuglyによる) 該当する場合
  • (ASP.NET)Webタブで編集して続行が有効になっていることを確認します(vs2010)
  • (ASP.NET)[プロパティ]> [Web]> [サーバー]に移動し、Visual Studio開発サーバーを使用有効にして続行がオンになっていることを確認します。
  • (ASP.NET WebAPI)編集する前に、ブレークポイントを使用してコントローラーのメソッドで停止したことを確認してください。
  • [ツール]> [オプション]> [デバッグ]> [全般]に移動し、元のバージョンと完全に一致するソースファイルが必要がオフになっていることを確認します。
  • Microsoft Fakesを使用していますか?編集と続行を禁止します。
  • タスクマネージャプロセスツリーの終了を選択して、すべての*。vshost.exeインスタンスを強制終了します。 VSは正しいインスタンスを再生成します。
  • Debug-> Delete All Breakpointsですべてのブレークポイントを削除します
  • 有効にして続行ツール>オプション>デバッグメニューとプロジェクト設定の両方に存在します。両方の場所を必ず確認してください。編集および続行は、拡張Intellitrace設定ではサポートされていません。
  • デバッグ情報プロジェクトプロパティ>ビルド>詳細設定>出力>デバッグ情報フルに設定されていることを確認してください
  • 一部のプラグインが干渉している可能性があります。無効化/アンインストールしてから、他のソリューションを再試行して確認してください。
  • 十分な注意を払っていない場合、これを修正しようとしたときに表示されるエラーは、診断しやすい他のエラーに変わる可能性があります。例えば。ラムダ式を含むメソッドは、編集と続行をサポートできません。
  • システム変数COR_ENABLE_PROFILING1に設定されていないことを確認してください。一部のプロファイラーは、インストール時にこれを設定し、アンインストール後もそのままにします。コマンドプロンプトを開き、setと入力して、システムが影響を受けることをすばやく確認します。影響がある場合は、変数を削除するか、0に設定します。

    • Windows 8以降では、System(コントロールパネル)を検索します。
    • システムの詳細設定リンクをクリックします。
    • 環境変数をクリックします。
    • COR_ENABLE_PROFILINGを削除
  • サポートされていないシナリオ (質問で報告されているように)と サポートされていない編集 に注意してください。

* by 'you'、つまり、解決策を見つけるためにキーボードで頭をhammerでているページの訪問者を意味します。

他のヒントがあれば、この回答を自由に編集してください!

59
beppe9000

ASP.NETアプリケーションをデバッグする場合は、[プロパティ]> [Web]> [サーバー]に移動し、[Visual Studio開発サーバーを使用]で[有効にして続行]がオンになっていることを確認します。

23
viggity

同じ問題がありました。私もVS 2008を再インストールしましたが、問題は解決しませんでした。ただし、すべてのブレークポイントを削除すると、機能し始めました。

Debug->Delete All Breakpoints

コードにブレークポイントが含まれているaspxページを削除してから、同じ名前の別のページを作成したことが原因だと思います。これはおそらくVS 2008を混乱させました。

9
Amer

「編集して続行」を有効にすると、ブレークモードの場合にのみコードを編集できます。例外によって実行を一時停止するか、ブレークポイントにヒットする。

これは、実行が一時停止されていない場合、コードを編集できないことを意味します!デバッグ(ASP.NET)Webプロジェクトに関しては、リクエスト間で変更を行うことが多いため、これは非常に直感的ではありません。現時点では、(おそらく)デバッグしているコードは実行されていませんが、一時停止されていません!
これを解決するには、[すべてを解除]をクリックします(または Ctrl+Alt+Break)。または、ブレークポイントをどこかに(たとえば、Page_Loadイベントで)設定し、ブレークポイントに達すると実行が一時停止するようにページをリロードし、nowコードを編集できます。 .csファイルのコードでも。

5
Protector one

この問題は、Intellitrace設定が原因です。

Intellitraceが有効になっている場合、Intellitraceイベントのみがチェックされていることを確認してください

それ以外の場合、これは編集を許可せず続行します。

Intellitraceオプションをクリックすると、警告が表示されます。

4
KuldeepVerma

確認すること

  • コンパイルがデバッグ対リリースに設定されていることを確認してください
  • 混合モードのプロセスを起動していないことを確認してください
  • 64ビットマシンの場合CPUターゲットをAnyCPUではなくx86に設定してください。

[〜#〜] edit [〜#〜]

これが問題になるとは思いませんが、ターゲットプラットフォームでホスティングプロセスが有効になっていることを確認してください。おそらく役に立たないでしょう。

新しいプロジェクトを再現する場合は、さらに微妙なものになる可能性があります。私は次のことを試してみます。

  • バックアップHKCU:\ Software\Wow6432Node\VisualStudio\9.0(名前を変更するだけの場合もあります)
  • 同じキーを削除する
  • 再現をもう一度試してください
4
JaredPar

プロジェクトプロパティの[ビルドとデバッグ]タブが[デバッグ]に設定され、他のすべての設定が正しいにもかかわらず、メッセージが表示されることがわかりました。そこにも2か所あります。図に行く...デバッグを設定するのに必要な場所はいくつですか???? [プロジェクト]-[構成]を[デバッグ]に設定し、[ビルド]-[マネージャー]の下では変更されないため、同じ設定を変更します。

4
RAL

上記のソリューションはどれもうまくいきませんでした(64xマシンで実行)。

最後に'advanced compiler settings'[〜#〜] unchecked [〜#〜]'enable optimizations 'をクリックして、デバッグ中にコードをステップスルーして編集できるようになりました。

4
JayW

ASP.NETアプリに関する懸念がある場合は、[Web]タブ(vs2010)で編集して継続的に有効にしてください。以前のバージョンでは、ASP.NETデバッグ用の個別の設定もありました。

よろしく、

アダム。

4
Adam

撮影後、VS2010を使用するのに役立ちました。

[ツール]、[オプション]、[デバッグ]、[全般]に移動し、[元のバージョンと完全に一致するソースファイルが必要]がオフになっていることを確認します。

4
Vinay

私には理解できない理由で、「コンパイラーの詳細設定」の「デバッグ情報の生成」の設定が「フル」ではなく「pdbのみ」に設定されていました。

デフォルトでは、このパラメーターは常に「フル」に設定されていますが、謎のポルターガイストが昨夜このパラメーターを変更しました。 :)

追伸Visual Studio 2010でVisual Basic .Netを使用しています

3
Samuel

Microsoft Visual Studio 2008でこの問題が発生しましたが、解決方法は簡単です。プロジェクトを実行するときは、「リリース」ではなく「デバッグ」モードに設定してください。別の人のソリューションが役立つ場合があります。

3
user2412450

これは、デバッガーがブレークポイントに到達していない場合、またはすべてブレーク(一時停止)に到達していない場合に発生します。それはそんなに簡単ではないでしょうか?

新しいプロジェクトを作成すると、デバッグ中の編集が機能しません。新しいWebサイトを作成すると、デバッグ中に編集が期待どおりに動作します。

1
Greg

編集を有効にして作業を続けるIIS Express。ローカルで動作しないISSまたは外部ホスト。

1
Ahmad Aghazadeh

使用しなかったため、プロジェクトからデータセットを削除しました。その後、デバッグ時にプログラムを変更できました。

1
ashkan_jami

今日、私はこれに遭遇しました-デバッグ情報をpdbのみに設定すると(または、なしに設定すると、編集と続行が機能しなくなります)。

デバッグ情報が最初に「フル」に設定されていることを確認してください!

プロジェクトのプロパティ>ビルド>詳細設定>出力>デバッグ情報

1
Guy Danus

このエラーは、考えられる原因が「デバッグ中のコードがビルドまたは実行時に最適化された」ことだと言っています。 [プロジェクトのプロパティ]-> [デバッグ]に移動し、デバッグモードの[コードの最適化]ボックスをオフにします。

1
pbalaga

私のために働いたのは、[管理された互換モードを使用する]のチェックを外すことでした

ツール->オプション->デバッグ

TBN:「元のバージョンと完全に一致するソースファイルが必要」をオンまたはオフにしても、E&Cに影響はないようです

これが役立つことを願っています。

1
B. Cafaro

VS2010の使用に役立つと思われるいくつかのこと:

  • [ツール]、[オプション]、[デバッグ]、[全般]に移動し、[元のバージョンと完全に一致するソースファイルが必要]がオフになっていることを確認します。
  • 複数の.vshost.exeインスタンスは、たとえば停止したプロセスからVSデバッガーをデタッチします。これはブレークポイントと干渉し、同様にコンパイルします。タスクマネージャの[プロセス]タブを使用して、各インスタンスを右クリックし、[プロセスツリーの終了]を選択して、.vshost.exeのすべてのインスタンスを強制終了します。 VSは新しいインスタンスを作成します。
1
Scott

私は他のすべての回答に記載されているすべての変更を行いましたが、どれも機能しませんでした。私は何を学びましたか? 有効にして続行は、[ツール]> [オプション]> [デバッグ]メニューとプロジェクト設定の両方にあります。両方をチェックした後、EnableとContinueが機能しました。

1
stevebot

リンクされたクラスファイルでこれが発生しました。プロジェクトの残りの部分ではE&Cが許可されましたが、リンクされたファイルの編集で同じエラーが発生しました。解決策は、リンクされたファイルを独自のプロジェクトに分割し、プロジェクトを参照することでした。

0
jlo-gmail

Illogicのようですが、唯一の方法は編集を無効にしてVS 2017オプションから続行しました...その後AspNetの編集と続行が機能し始めました...

0
FRK

私の場合、デフォルトのデバッグ設定にリセットし、IntelliTrace-> Intellitraceイベントのみを設定すると役立ちます

0
Yuriy Vikulov

私にとっては、ブレークポイントに到達し、いくつかの編集を行った後、コードのステップ実行を続け、最後にF5または「続行」を押してコードブロックの最後に到達してから発生していました。

「すべてのブレークポイントを削除」オプション(プロンプトでCtrl + Shift + PrtScnおよびOK)を試行し、すべて再構築を実行した後、エラーログにDLLプロジェクトがロードされていないため...「変更を適用できない、x.DLLがロードされていない」。VisualStudioを再起動した後、すべてが再び正常になりました。

「元のバージョンと完全に一致するソースファイルが必要」などの問題が再び正常に動作するようになり、x64マシンの「任意のCPU」をターゲットにすることもできます(didなど) x86またはx64を指定する必要はありません)。 [ツール]> [オプション]> [デバッグ]および[プロジェクトプロパティ]> [Web]タブの設定で[編集と続行を有効にする]を有効にしました。

0
vapcguy

Visual Studio 2005でも同じ問題に直面していました。私の構成は64ビットです。 VSソリューションの1つでは正常に機能していましたが、もう1つでは機能していませんでした。デバッグモードで変更を加えたいプロジェクトで、i only enabled "編集と続行を有効にする"に気付きました。 start up projectにも「Enable and Continue」を選択すると、これは最終的に解決しました。

有効化および継続が必要な場合を除き、構成の変更はありませんでした。

0
Sanjeev Singh

ソリューションにデータベースプロジェクトがあり、webformsプロジェクトの編集を停止しました。

データベースプロジェクトで[アンロード]をクリックすると、すべてがうまく機能するようになりました。

0
Adam

私は同じ問題に直面しました。私の問題は、ファイルを変更できたが、別のファイルは変更できないということでした(両方とも同じプロジェクトにあります)。後で、変更できなかったファイルも別のプロジェクトの一部であることがわかりました。別のプロジェクト(ユニットテスト)がロードされず、インテリジェント VSデバッガーは、この特定のファイルのアセンブリがロードされず、変更が許可されないというエラーを示します。なんて変だ!

したがって、ユニットテストプロジェクトをアンロードし、EnCデバッグを続行する必要がありました。

0
Ajay

VS2017の場合、ソリューション内の.suoファイルを削除すると役立ちます。 :)

0
Nieksa

相互運用タイプの埋め込みVisual Studioはfalseに設定する必要があります

0
Wilma Fingerdoo

Riderでこの問題がありました。 .csprojファイルの代わりに.slnファイルを直接開いていました。その結果、デバッグボタンをクリックしても、ランタイム構成がデバッグに設定されませんでした。デバッグボタンの横のツールバーに<No Configurations>と表示されます。

0
Bluebaron