2012-03-23 9 views
1

私はMVC Turbineで動作するようにプロジェクトを設定していて、IRouteRegistratorsの呼び出しに問題があります。私のチームの他の人がこれまでにこの問題を抱えていましたが、彼はそれを解決するために何をしなければならなかったのか覚えていません。MVCタービンルートが登録されていません

これが解決するまで、セットアップのコードはすべて一時的にGlobal.asax.csファイルにあります。私が使用しているコードは、私が見たすべてのチュートリアルと似ていますが、それは下に含まれています。

public class MvcApplication : TurbineApplication 
    { 
     static MvcApplication() 
     { 
     ServiceLocatorManager.SetLocatorProvider (() => new StructureMapServiceLocator()); 
     } 

     protected void Application_Start() 
     { 
     DeployDbMigrations(); 
     } 

     private void DeployDbMigrations() 
     { 
     ... 
     } 
    } 

    public class RouteRegistration : IRouteRegistrator 
    { 
     public void Register (RouteCollection routes) 
     { 
     routes.IgnoreRoute ("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute (
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

     } 
    } 

は私が言ったように、IRouteRegistratorが呼び出されていないので、私はホームページに行くとき、私は適切なコントローラとビューが設定されているにもかかわらず、404を取得します。

迷惑なことは、現在のソリューションの外で同様のプロジェクトを作成することができ、うまくいくことですが、ソリューションでは機能しません。 (ただし、私は作業中のプロジェクトをソリューションに貼り付けて試してみましたが、それはうまくいきましたが、これはもう解決できませんでした)。

過去にこの問題が発生したことがありますか?

答えて

1

プロジェクトで生成されたアセンブリの名前を確認します。 MVCTurbineは、登録を検索するときに、いくつかのアセンブリを名前でフィルタリングします。アセンブリの名前に以下のいずれかが含まれている場合、ルートはチェックされません。

  • システム
  • System.Webの
  • mscorlib
  • MvcTurbine、
  • MvcTurbine.Web、
  • WebDev
  • CppCodeProvider

問題を修正する必要があるアセンブリの名前を変更します。

関連する問題