web-dev-qa-db-ja.com

32ビットを実行するためのソリューションDLL 64ビットプロセスまたはその逆

私はWindowsVista Business64ビットを実行しています。 C#を使用して.NETで記述されたWebサービスがあります。また、Webサービスと通信するWebページにクライアント側のスクリプトがあります。これは「Default.aspx」というタイトルのaspxページです。 IISをセットアップし、Webサービスとそれを実行するために必要なすべてのファイル(default.aspxページを含む)を含むWebサービスフォルダーをC:\ inetpub\wwwrootに移動しました。 IISマネージャーであり、すべてを適切に構成しました。エラーメッセージが表示されます。

不正な形式のプログラムを読み込もうとしました。 (HRESULTからの例外:0x8007000B)

これは私のライセンスキーに問題がある可能性がある、アプリが別の形式で構成されている、またはどこかに破損したファイルがあると言われました。私のライセンスキーは問題なく、破損したファイルがあるとは思わない。問題は、32ビットDLLを64ビットプロセスに、またはその逆にロードしようとしていることだと思います。詳細なエラーメッセージは以下のとおりです。誰かが詳細な解決策を教えてください。詳しい説明をさせていただきましたので、よろしくお願いします。一日中取り組んでいてイライラしています。助けてください。

例外の詳細:System.BadImageFormatException:不正な形式のプログラムを読み込もうとしました。 (HRESULTからの例外:0x8007000B)

ソースエラー:

現在のWebリクエストの実行中に、未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。

スタックトレース:

[BadImageFormatException:不正な形式のプログラムを読み込もうとしました。 (HRESULTからの例外:0x8007000B)] Luxand.FSDK.ActivateLibrary(String LicenseKey)+0 FaceRecognition._Default.Page_Load(Object sender、EventArgs e)in D:\ Project Details\Layne Projects\DotNet Project\FaceRecognition\FaceRecognition\Default。 aspx.cs:60 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp、Object o、Object t、EventArgs e)+25 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender、EventArgs e)+42 System.Web .UI.Control.OnLoad(EventArgs e)+132 System.Web.UI.Control.LoadRecursive()+ 66 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint)+2428

3
Brandon

IIS 7では、アプリケーションプールを32ビットモードで実行するように構成できます。これは、32ビットシステムでのみ使用可能なDLLにアクセスする必要がある場合に非常に役立ちます。

デフォルトのアプリケーションプールのプロパティを変更して、Webサーバー全体をx86モードで実行するか、新しいアプリケーションプールを作成し、32ビットに構成して、特定のWebサイトや仮想ディレクトリを割り当てることができます。

5
Massimo