1

新品のVistaマシンでは、プロジェクトをデバッグモードで開始しようとすると、次のエラーがすぐに発生します。

保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています。

メッセージの「他のメモリが壊れています」の部分は購入しません。エラーは、新しいマシンに移動したばかりのプロジェクトに関連している可能性があると思いましたが、まったく新しい空白のプロジェクトでも同じ動作を示します。また、デバッグせずに起動してもメッセージが表示されません。

私はいくつかの修正についてオンラインで読みました:

  1. 2007年には、問題に対処する.NET2.0のサービスパックがありました。私は3.5SP1を使用しているので、それが問題だとは思えません。
  2. 参照するDLLは32ビットであり、問​​題が発生するため、x86用に明示的にコンパイルします。私はCore2Duoを使用していますが、Vista 32ビットを実行しているので、問題はないはずですよね?(さらに、テストプロジェクトでは、DLLはありません。)
  3. デバッグ中の「モジュールロード時のJIT最適化の抑制」のチェックを外します。私のために何もしませんでした。
  4. OS全体をワイプし、VS2008を再インストールします。(これは明らかに子供のために働いた。)私は今そのための時間がない。

デバッグしなくても必要なことはできると思いますが、元に戻したいと思います。ここにいる誰かがなぜこれが起こっているのか考えられるなら、私に知らせてください。ありがとう。

4

1 に答える 1

1

あなたが試すことができるもう一つのことは、それがWebプロジェクトである場合、次のことをすることです. web.config ファイルで次のように指定します。

<system.web>

<trust level="Full"/>

</system.web>

これは理想的ではありませんが、機能する場合は、問題の絞り込みを開始できます。表示されているエラーは非常に一般的なエラーであり、DEP (データ実行防止) が原因である可能性もあります。私が理解していることから、それは通常Windows Server 2003 でのみです。Windows2003 を使用している場合は、次の手順を実行して DEP を無効にすることができます。

  1. [マイ コンピュータ] を右クリックし、[プロパティ] をクリックします
  2. [詳細設定] タブをクリックします
  3. [パフォーマンス] セクションの [設定] ボタンをクリックします。
  4. 「選択したものを除くすべてのプロセスとサービスに対して DEP を有効にする」というラジオ ボタンがオンになっていることを確認します。
  5. リストの下部にある [追加] をクリックします。
  6. 実行する実行ファイルを参照して選択します
  7. リスト内の実行可能ファイル名の横にあるチェックボックスが選択されていることを確認し、[OK] をクリックします。

最後のオプションは、データベースのクエリ時にもエラーになる可能性があるということです。その場合、クエリ/oledb コマンド パラメーターの種類/値/oledb パラメーターの順序を適切に確認する必要があります。

これらのソリューションのいずれかがお役に立てば幸いです。幸運を!

于 2009-08-04T06:54:43.977 に答える