web-dev-qa-db-ja.com

x64にアップグレードすると、HTTP500になります

開発マシンを64ビットWin7にアップグレードしましたが、ローカルのASP.Netプロジェクトに接続しようとすると、次のようになります。

HTTPエラー500 ... ISAPIフィルター "C:\ Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll"でLoadLibraryExを呼び出せませんでした

これにはいくつかの不可解なことがあります。 ASP.Netプロジェクトは.Net2.0 ASMXであったため、C:\ Windows\Microsoft.NET\Framework\v2.0.50727を使用していました。確認せずにx64に更新した場合、C:\ Windows\Microsoft.NET\Framework64\v2.0.50727 \を使用しないでください。 C:\ Windows\Microsoft.NET\Framework\v4.0.30319 \はどこから来ていますか?

IIS Managerを開き、マシンで選択した.NetFrameworkのバージョンは2.0.50727です。デフォルトのアプリケーションプールのフレームワークのバージョンは同じです。

私はVS2008で開発していますが、.Net4.0をターゲットにするオプションすらありません。

2
Dour High Arch

.Net 2.0 Frameworkが私のマシンにインストールされ、IIS Manager、ASPNET_REGIIS登録されていないと述べた:

cd C:\Windows\Microsoft.NET\Framework\v2.0.50727

aspnet_regiis -lv
    4.0.30319.0 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
    4.0.30319.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

これがどのように可能かはわかりません。 ASP.NET 2を再登録すると、問題が修正されました。

aspnet_regiis -i
    Finished installing ASP.NET (2.0.50727)

aspnet_regiis -lv
    2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
    4.0.30319.0 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
    2.0.50727.0 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
    4.0.30319.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

Win7へのアップグレードとは何の関係もありませんでした。それはガチョウの追跡でした。

0
Dour High Arch

アプリケーションの32ビット部分があり、IISの64ビットアプリケーションプールで実行しようとしているように思えます。デフォルトでは、アプリケーションプールは64ビットOSでは64ビットです。 32ビットモードを有効にするには、アプリケーションプールの詳細プロパティに移動し、[32ビットアプリケーションを有効にする]の設定を変更する必要があります。

enter image description here

3
Sam Cogan