使用Visual Studio 2013 Professional,创建一个新项目。
选择Visual Basic,然后选择Web,再选择Web应用程序。我选择了MVC。没有身份验证。创建。
然后我添加了一个名为“Test”的区域。一个名为“Test”的控制器和一个名为“Index”的视图。
按下F5键,项目构建并运行,但返回HTTP 404错误。
我重复了完全相同的步骤(字面上的相同步骤),只不过在创建Web应用程序时选择了C#而非Visual Basic。这次成功了。
是的,AreaRegistration.RegisterAllAreas()已被调用。这是一个默认的新项目,按照上述步骤进行操作,但它根本不起作用,而C#版本则可以。
为什么会这样,如何解决?我的客户需要使用VB.NET,而不是C#。
编辑 这里是RouteDebugger给出的信息:
Matches Current Request | Url | Defaults | Constraints | DataTokens
False | __browserLink/requestData/{requestId} (null) (null) (null)
True | Test/{controller}/{action}/{id} action = Index, id = UrlParameter.Optional (empty) Namespaces = WebApplication2.Areas.Test.*, area = Test, UseNamespaceFallback = False
False | {resource}.axd/{*pathInfo} (null) (empty) (null)
True | {controller}/{action}/{id} controller = Home, action = Index, id = UrlParameter.Optional (empty) (empty)
True | {*catchall} (null) (null) (null)
controllers
文件夹中有哪些控制器? - Adrian Wragg