首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC Turbine路由未注册

MVC Turbine路由未注册
EN

Stack Overflow用户
提问于 2012-03-24 01:09:43
回答 1查看 102关注 0票数 1

我一直在设置一个与MVC Turbine一起运行的项目,但在调用IRouteRegistrators时遇到了一些问题。我团队中的另一个人过去也遇到过这个问题,但他不记得他必须做些什么才能解决这个问题。

在此之前,设置的代码暂时都在Global.asax.cs文件中。我使用的代码看起来与我看过的每个教程都很相似,但不管怎样,它都包含在下面。

代码语言:javascript
复制
   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。

令人恼火的是,我可以在当前解决方案之外创建一个类似的项目,它可以工作,但不能在解决方案中工作。(不过,我已经尝试过将工作项目复制粘贴到解决方案中,并且成功了。但是,这不再是一个选择,因为在我弄清楚这一点的同时,其他人已经在web项目上做了更多的工作。)

过去有没有人遇到过这个问题,并且/或者知道如何解决它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-27 02:31:37

检查由项目生成的程序集的名称。在查找注册时,MVCTurbine会按名称筛选出一些程序集。如果程序集的名称包含以下任一内容,则不会检查它的路由。

  • System
  • System.Web
  • mscorlib
  • MvcTurbine,
  • MvcTurbine.Web,
  • WebDev
  • CppCodeProvider

重命名程序集应该可以解决此问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9843507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档