.Netプログラムに深刻な問題があります。ネイティブdllを呼び出し、ネイティブメソッドが見つからないため、すぐにクラッシュします。これは以前に見た動作であり、C#コンパイラは、その無限の知恵で、明らかにそうではないネイティブdllを呼び出した場合でも、プログラムがDEP互換であるというフラグを設定します。
これには標準的な回避策があり、ビルド後のステップでフラグがNot DEP互換に設定されており、これは正常に機能します。私のマシンを除いてどこでも。私はWindows732ビットを使用していますが、このプログラムは、使用しているWin 7 64ビットマシン、およびVistaとXPで正常に動作します。
ただし、私のマシンでは、DataExecutionPolicy_SupportPolicyは0です。つまり、DEPを正常にオフに切り替えました。それがまだ行動できる状況があるかどうか誰かが知っていますか?または、同じ効果を持つ可能性のある他のメカニズムはありますか?
また、新しくインストールされた別のWin7 32ビットマシン(これも私のようなThinkpad)をチェックしましたが、そこでも動作します。すべてのBIOS設定を比較しましたが、それらは類似しています(私のものはT61、もう1つはR60です)。
問題のdllは、ネイティブプログラムから呼び出された場合、私のマシンでも正常に機能します。私たちはアイデアを使い果たしています...どんな助けでも大歓迎です!