Visual Studio 2008 でのデバッグ時に「64 ビット アプリケーションへの変更は許可されません」と表示される

StackOverflow https://stackoverflow.com/questions/1498464

質問

Visual Studio 2008、C# を使用しています。編集して続行 (デバッグ中にコードを編集) を使用しようとすると、次の例外が発生します。

「64 ビット アプリケーションへの変更は許可されていません」

何故ですか?回避策はありますか?

役に立ちましたか?

解決

エディット コンティニューは 64 ビット アプリケーションでは CLR レベルでサポートされていないため、Visual Studio でエディット コンティニューを実装する方法もありません。

この問題を回避する最も簡単な方法は、アプリケーションのターゲットを x86 チップにすることです。これにより、Wow64 モードで 32 ビット プロセスとして実行され、ENC が可能になります。次のようにすることでこれを行うことができます

  1. .EXE アプリケーションを右クリックし、「プロパティ」を選択します。
  2. 「ビルド」タブに移動します
  3. [プラットフォーム ターゲット] コンボ ボックスを x86 に変更します。

enter image description here

他のヒント

個人的に、私が実際に欲しいのは引き続き編集-と-ない停止と編集されます。

だから私は単に/編集ツール/オプション/デバッグをオフにして続行します。

そうすることで、私は最初の場所にしたくなかった欠落している機能についての私を困らせるからその厄介なダイアログボックス阻害: - )

64 ビット コードの「エディット コンティニュー」機能は、Visual Studio 2013 でサポートされます。

詳細はこちら.

私はMSのVisual C#Expressの2010年の同じエラーメッセージを持っていたことだった面白いけれども、アプリケーションは間違いなくx86のプロジェクトとして構成されていたので!

最後に、それは私の.csprojファイルに欠落している次の行でした

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'MY_CONFIG|x86'">
    ...
    <PlatformTarget>x86</PlatformTarget>
    ...
</PropertyGroup>
それが欠けていた理由を

私は知らない...私は2010 MSのVisual C#Expressを推測bugfreeではありません。)

  1. ターゲット CPU が「任意の CPU」に設定されている場合、32 ビット Windows では 32 ビット アプリケーションとして実行され、64 ビット Windows では 64 ビット アプリケーションとして実行されます。ただし、Visual Studio では、64 ビット アプリケーションの「編集して続行」機能は許可されていません。

  2. 64 ビット マシンで「スムーズに」デバッグするには、次のいずれかを行うことができます。

    a) 「ターゲット CPU」を「任意の CPU」に設定しますが、「32 ビットを優先」ボックスをオンにします。

    b) または、「ターゲット CPU」を「x86」に設定します。

非常に重要:どちらのオプションでも、「最適化を有効にする」ボックスのチェックを外す必要があります。

残念ながら、編集および64ビットではサポートされていません続行します。 [編集]を使用すると、64ビットアプリケーションをデバッグするときに続行しようとした場合、実際には、次のエラーメッセージが表示されます:「64ビット・アプリケーションへの変更が許可されていません」 多くのユーザーは、Visual Studio 2008でC#やVBプロジェクトを作成する場合、デフォルトでは、このプロジェクトのための「プラットフォーム」が「どれCPU」に設定されていることを認識していなくてもよいです。これは、32ビットオペレーティングシステム上でアプリケーションを実行する場合、アプリケーションが32ビットプロセスとして実行され、同様に、あなたは64ビットオペレーティングシステム上でアプリケーションを実行する場合、アプリケーションが64ビットであることを意味します。 「どれCPU」の結果は、あなたが64ビットオペレーティングシステム上でアプリケーションをデバッグしようとすると、[編集]を使用して、機能を続行することはできませんということです。

ただし、回避策があります。開発中に、あなたはあなたのアプリケーションでも64ビットオペレーティングシステム上で32ビットプロセスとして実行されることを意味し、32ビットへのプロジェクトのためのプラットフォームを設定することができます。これは、基本的には64ビットオペレーティングシステム上で32ビットアプリケーションを実行できることを意味WOW64または「WindowsでのWindows」として知られています。

だから、どのようにあなたは、32ビットへのプロジェクトのためのプラットフォームを設定するのですか?さて、あなたは、Visual Studio Configuration Managerを使用して32ビットのプラットフォームを作成する必要があります。ここでは短いチュートリアルではあります。

まず、ビルドから「構成マネージャ」ダイアログを開く - > [構成マネージャ。構成マネージャ]ダイアログボックスを以下に示します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top