2

実行時にいくつかのWin32DLLをロードする.NETC#コンソールアプリがあります。このアプリを開発者のマシン(ラップトップでは32ビットWin7、デスクトップコンプでは64ビットWin7)で実行すると、998エラーが発生することがあります。開発者のマシンを再起動すると、この問題は解消されます。これはテストサーバー(Linux上の仮想マシン、Win Server 2008 R2)で発生しますが、再起動すると消えます。このため、再現するのは簡単ではありません。

理由を理解するのは難しいですが、DLLが依存ウォーカーをロードすると、まったく問題はありません。2つの依存関係はKernel32.DLLとMSVCRT.DLLです。今日、このエラーはコマンドラインからアプリを起動するときに発生しました。アプリをVS2010にロードして起動すると、同じdll-sが問題なくロードされました。それを停止すると、コマンドラインからアプリを再度起動し、DLLもロードされました。

これらのDLLは私ではなく3社目で開発されているため、DLLのソースコードがわかりません。何が起こっているのかについて何か考えはありますか?

4

1 に答える 1

0

アプリと同じフォルダーにdllを設定します。アプリケーションは管理者アクセス権で実行する必要があります。VS を管理者として実行するか、cmd を管理者として実行してから、この例のように cmd パスをアプリの場所に変更します。

c:\cd /d your_application_path

次に、コマンド プロンプトにアプリの名前を入力します。その後、アプリケーションは管理トークンを使用して作業を正常に実行できます。

于 2013-10-17T16:10:55.390 に答える