1

次のセットアップがあります。
BaseController1はSystem.Web.Mvc.Controllerを継承します。このコントローラーは、私のプロジェクトから参照される別の dll にコンパイルされます。私のプロジェクトでは、 BaseController2は
BaseController1を継承しています。MyController は BaseController2を継承します。 この設定でアプリケーションを実行すると、404 エラーが発生します。 しかし、BaseController2がSystem.Web.Mvc.Controllerを直接継承し、このセットアップでアプリケーションを実行すると、すべてが期待どおりに機能します。 : base() が呼び出された、継承されたすべてのコントローラーのデフォルトコンストラクターがあります。BaseController1 _







アセンブリ内では、asp.net mvc 3 への参照を使用してコンパイルされており、私のプロジェクトは完全に asp.net mvc 4 に依存してい

ます。これが問題になる可能性はありますか? または、私は何か間違ったことをしています。

前もって感謝します!

4

1 に答える 1

1

あなたは何も悪いことをしていませんが、MVC を特定のアセンブリ/名前空間で見えるようにする必要があります。

ControllerBuilder.Current.DefaultNamespaces.Add(
    "ExternalAssembly.Controllers");

これは、この質問で既に回答されています: asp.net mvc put controllers into separate project

于 2012-11-29T16:11:52.690 に答える