今日、かなり新しいNinject 2.0とNinject.Web.Mvc (mvc2 をターゲットとする) ソースをダウンロードし、.NET 4 (リリース構成) に対してそれらを正常にビルドしました。Ninject 2.0 を使用してアプリケーションを実行しようとすると、404 エラーが発生し続け、その理由がわかりません。
これは私のglobal.asax.csです(簡潔にするために少し短くしています):
using ...
using Ninject;
using Ninject.Web.Mvc;
using Ninject.Modules;
namespace Booking.Web
{
public class MvcApplication : NinjectHttpApplication
{
protected override void OnApplicationStarted()
{
Booking.Models.AutoMapperBootstrapper.Initialize();
RegisterAllControllersIn(Assembly.GetExecutingAssembly());
base.OnApplicationStarted();
}
protected void RegisterRoutes(RouteCollection routes)
{
...
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Entry", action = "Index", id = "" }
);
}
protected override IKernel CreateKernel()
{
INinjectModule[] mods = new INinjectModule[] {...};
return new StandardKernel(mods);
}
}
}
EntryController
が存在し、単純に を実行するメソッドIndex
がありreturn View()
ます。デバッグして、への呼び出しRegisterAllControllersIn()
が実行されることを確認しました。Phil Haacks Routing デバッガーも使用しようとしましたが、それでも 404 が発生します。
この原因を見つけるにはどうすればよいですか?