ASP.NET MVC 3 アプリケーションデプロイ時、404 エラーが出た場合の対応

はじめに

ASP.NET MVC 3 で作成したアプリケーションをデプロイする機会がありハマったのでメモ。

環境

現象

以下の手順で環境を作成しました。

  1. IIS7.5 インストール
  2. .NET Framework 4.0 インストール
  3. ASP.NET MVC 3 ランタイムインストール
  4. アプリケーションデプロイ(WebDeploy利用)

で、ルーティングされるような以下のURLを参照したところ、404エラーが発生しました。
http://hogehoge/Controller/Action/

エラーメッセージは以下のような感じ。

Module: IIS Web Core
Notification: MapRequestHandler
Handler: StaticFile

「StaticFile」という事はASP.NET MVC のルーティングが正常に動作していないのだなーと思い、Google先生で検索した所、アプリケーションプールの設定が統合パイプラインになっていないなど、Web.Config の設定が正しくないなどの記事が出てきましたが、正しく設定出来ていました。

解決策

振り返ってみれば簡単な話ですが、IIS7.5に.NET Framework が認識されていなかったようで以下のコマンドを実行して解決しました。

> C:\Windows\Microsoft.NET\Framework64\v4.0.30319¥aspnet_regiis -i