0

アンマネージ C++ ライブラリを使用する小さな C# winforms アプリケーションを開発しています。このライブラリのコードにはアクセスできません。

私が Visual Studio を使用していて、アプリケーションを実行している場合は、すべてが機能しているライブラリへの呼び出しを行います。CTRL + F5 を実行すると、AccessViolationException が発生します。私はいくつかのテストを行い、.NET 2.0 で別の winforms アプリケーションを作成しました (他のものは .NET 4.0 でした)、そこで AccessViolationException を受け取りません。そこで、.net 4.0 ソリューションで .net 2.0 クラス ライブラリを作成し、そのクラス ライブラリを使用すると考えました。これは役に立ちませんでしたが、それでも AccessViolationException が発生しました。

安全でないコードを許可し、コードのオンとオフを最適化する設定を試みましたが、それは役に立ちませんでした。デバッグ モードを終了すると、AccessViolationException が発生するのはなぜですか?

ありがとう

4

1 に答える 1

0

私はちょうど同じ問題に出くわしました。デバッガーで問題を再現するには、次の場所に移動する必要がありました。

ツール\オプション デバッグ\全般

および無効化: モジュールのロード時に JIT 最適化を抑制します (マネージドのみ)。

もちろん、問題は最適化されたコードでのみ発生します。

于 2010-09-24T22:41:17.927 に答える