1. ホーム
  2. visual-studio

[解決済み] 編集して続行 "変更が許可されていない場合..."

2022-09-18 15:43:01

質問

クリーンな WinForms プロジェクトを作成しても、Edit and Continue がうまくいかず、エラーが発生します。

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

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

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

<ブロッククオート

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

以下のデバッグシナリオでは、Edit and Continueは使用できません。

  • Windows 98 でのデバッグ。

  • ミックスモード (ネイティブ/マネージド) デバッグ。

  • SQLデバッギング。

  • Dr. Watson のダンプをデバッグします。

  • "Unwind the call stack on unhandled exceptions" オプションが選択されていない場合、処理されない例外の後にコードを編集する。

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

  • デバッグ] メニューから [開始] を使用してアプリケーションを実行するのではなく、[添付] を使用してアプリケーションをデバッグします。

  • 最適化されたコードをデバッグします。

  • ターゲットが 64 ビット アプリケーションである場合にマネージド コードをデバッグします。Edit and Continue を使用したい場合は、ターゲットを x86 に設定する必要があります。(プロジェクト プロパティ、コンパイル タブ、コンパイラーの詳細設定。).

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

しかし、私はこのリストのすべての項目に"No"と答えることができます。

以前は動作していたのですが、数日前から動作しなくなり、何が原因かわかりません。

どのように解決したらよいでしょうか。

やっと解決しました。 ガリオをアンインストールする。

Gallioはかなり多くの粗があるようで、MbUnit 3.0は使わず、MbUnit 2.0のフレームワークを使い、インストーラーからインストールせずに実行しているGallioランナー(Visual Studioプラグインもインストールされています)を使った方が良いとのことです。

ちなみに、私は Gallio プラグインを無効化した後でもこの問題が発生しました。アンインストールすることで、問題が解決しました。

PS. nightcoderによって編集されました。

私の場合 TypeMock Isolatorを無効にする (モッキングフレームワーク)を最終的に が役に立ちました。 ! Edit & Continue が動作するようになりました!!!

TypeMockのサポートからの回答です。

編集と継続の問題をさらに調査した結果 と継続の問題をさらに調査し、Microsoftと対話した結果 この問題について Microsoft と話し合った結果、私たちは 解決できないとの結論に達しました。 という結論に達しました。Isolatorは、CLRプロファイラを実装しています。 CLR プロファイラを実装しており、我々の調査によると CLRプロファイラを実装しています。 有効化され、アタッチされると、編集と続行が自動的に無効になります。 continueは自動的に無効になります。 これはもはやバグではなく バグというより、むしろ Isolator の制限事項です。