0

LoadLibraryExWindows Server2003ボックスにあるIIS6.0にWebサービスコードを展開した後、戻り値が「0」になります。Windows XP(local)に元のコードがありますが、これは正常に機能しており、この場合は0を返しませんLoadLibraryEx。私は完全に混乱していて、IIS6.0に展開されたときになぜ今ゼロを返しているのかわかりません。

IntPtrハンドル=LoadLibraryEx(dllFullPath、IntPtr.Zero、0x00000008);

Marshal.GetLastWin32Error()を使用したときに14001の戻り値を取得する

4

1 に答える 1

2

そのエラーはERROR_SXS_CANT_GEN_ACTCTX.

サイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーション イベント ログを参照するか、コマンド ライン sxstrace.exe ツールを使用してください。

あなたのシナリオでは、sxstrace.exe を使用するのは少し難しいかもしれません。イベント ログに手がかりが含まれているかどうかを確認することは、確かに価値があります。

私の推測では、問題のボックスに適切な MSVC ランタイムがありません。ロードしようとしている DLL によって使用される MSVC ランタイムを展開していることを確認してください。これは、問題をデバッグする前に最初に試すことです。

于 2013-01-04T21:14:22.787 に答える