0

ASP.NET MVC 3 を ASP.NET MVC 4 with .NET 4.5 にアップグレードしたところ、ルート コントローラーは機能していましたが、MVC エリアのコントローラーで 404 エラーが発生し始めました。

IIS 7 QFE パッチを探しましたが、Windows 8 には適用されません。ブレークポイントを設定することで、領域が正常に登録されたことを確認できました。また、登録が完了した後、ルート コレクションに 4 つのルートが登録されており、最初の 1 つがルートです。エリアに対応。しかし、エリア URL のリクエストはすべて 404 エラーになります。

4

1 に答える 1

0

アップグレード中に問題に直面したすべての人にこの回答を残しています。

ASP.NET MVC 3 に対してコンパイルされたビジネス ロジック ライブラリ (別の .NET クラス ライブラリ) がありました。

ASP.NET MVC 4 プロジェクトで ASP.NET MVC 3 に対してコンパイルされた他のライブラリへの参照を使用する場合、Web サーバーはエラーを発生させませんが、外部ライブラリに依存するコントローラーを読み込むことができないため、読み込みエラーを表示する代わりに、コントローラーが見つからないと想定して 404 エラーをスローするだけです。

同じ領域で定義されたコントローラーは、MVC3 に対してコンパイルされた外部ライブラリに依存していなければ、うまく機能しました。

要するに、「MVC3に対してコンパイルされたライブラリのタイプに応じて、コントローラはロードされず、404エラーが発生します」。

理想的には、エラーが発生するはずです。

于 2013-03-19T16:14:07.517 に答える