次のセットアップがあります。
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 に依存してい
ます。これが問題になる可能性はありますか? または、私は何か間違ったことをしています。
前もって感謝します!
質問する
3183 次
1 に答える
1
あなたは何も悪いことをしていませんが、MVC を特定のアセンブリ/名前空間で見えるようにする必要があります。
ControllerBuilder.Current.DefaultNamespaces.Add(
"ExternalAssembly.Controllers");
これは、この質問で既に回答されています: asp.net mvc put controllers into separate project
于 2012-11-29T16:11:52.690 に答える