1

一般的な http ハンドラーのみで構成される ASP.NET Web アプリケーションを開発しました。IISExpress を使用してローカルでテストされた x86 開発マシンで開始し、次に IIS6.0 を使用して 32 ビット Windows 2003 サーバーにデプロイしましたが、すべてうまくいきました。

私の会社では、64 ビット環境用に最適化されたサード パーティのライブラリを利用するために x64 環境に更新することにしたため、64 ビットの Windows Server 2012 R2 std エディションに切り替えましたが、いくつか問題があります。

私のローカルマシンでは、プラットフォームターゲットがx64に設定されたx64開発マシンに切り替えましたが、サーバーにデプロイすると常に

System.BadImageFormatException

メインアセンブリ上。エラーメッセージの他の部分は、アセンブリマネージャーがによってロードされていることを示しています

C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll

そしてそれはで実行されます

C:\Windows\SysWOW64\inetsrv\w3wp.exe

SysWOW64 では 64 ビット環境内で 32 ビット アプリケーションを実行する必要があるため、運用マシンの IIS サーバーで x64 Web アプリケーションを実行できない可能性がありますか? もしそうなら、私はサーバーに直接アクセスできないことを知って、この問題を克服するために何をすべきですか.

ありがとうございました。

4

1 に答える 1

1

エラーとパス:

C:\Windows\SysWOW64\inetsrv\w3wp.exe

C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll

...デプロイ先の実稼働サーバーが、その Web サイト アプリケーション プールを 32 ビット モードで実行していること、またはいずれにせよ確実にあなたのものであることを確実に証明してください。

Web ホスティング事業者として、私たちは多くの伝統的な理由から同じことをしています。言葉をかけて、ネイティブの 64 ビット モードに戻すかどうかを確認します。

于 2015-02-03T11:55:44.317 に答える