我新建的就是普普通通的C# MVC项目,一开始我的UI项目名称为SpringItem,这个项目是可以正常运行的,但是我把项目名称改为SpringItemUI之后,项目就不能运行了,异常信息如下:
找到多个与名为“User”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况。如果是这样,请通过调用含有 'namespaces' 参数的 'MapRoute' 方法的重载来注册此路由。
路由代码:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "User", action = "Index", id = UrlParameter.Optional } //namespaces: new string[] { "SpringItemUI.Controllers" } ); }
我的项目结构截图:
大家帮忙看看,UI项目的属性我也改过来的,我目前就只有这一个项目,不知道是怎么回事,希望知道的园友能热心解答一下!
好吧,没得到满意的回答,感觉最近博问的活跃用户少了,我不纠结这个问题,下一步.
用文本编辑器打开solution文件,在里面搜下SpringItem,搜到了就改成SpringItemUI试试
这样不行,一开始我就试过了,有没有别的办法。
@晓菜鸟: 类的名字空间是否还是之前的SprintItem,导致搜索控制器时出异常
@哨兵: 命名空间也改了的,不知道是咋回事。
我也是重命名遇到这问题,把bin、obj目录下的SpringItem.dll SpringItem.pdb 文件删掉就可以了,
重命名后居然居然还会用之前的dll文件,不会被自动删除
cool