2011-03-23 155 views
5

如何解决?在ASP.NET MVC Project中重命名命名空间:编译OK,运行不正常

发现多个类型与名为'Home'的控制器相匹配。如果为该请求提供服务的路由('{controller}/{action}/{id}')没有指定命名空间来搜索与该请求匹配的控制器,就会发生这种情况。如果是这种情况,请通过调用带有'namespaces'参数的'MapRoute'方法的重载来注册此路由。

为“家”的请求已经发现了以下匹配控制器: MyProject1.Controllers.HomeController MyProject2.Controllers.HomeController

+0

你是按区域将它们分开的吗? – 2011-03-23 22:29:03

回答

15

可能需要一点点细节。对于例如你是否将命名空间从MyProject1更改为MyProject2?

检查你的bin文件夹,看看是否有来自旧命名空间的dll仍然存在。如果是这样的话,清理它们并重新编译应该解决问题。

+0

非常感谢它的工作原理(我也必须改变Global.asax) – user310291 2011-03-23 23:04:41

+0

在我的情况下,旧的DLL是在Bin文件夹。 – Eduardo 2012-03-17 16:07:12

+0

我在BIN文件夹中发现了DLL - 很好的答案!谢谢! – bUKaneer 2012-10-10 10:42:18

2

确保您在Web项目属性编辑默认的命名空间设置上的应用程序标签。

1

我认为这是在您的意见。确保你的观点中的命名空间是正确的。