重命名ASP.NET MVC项目导致控制器出现多个类型错误

本文关键字:错误 类型 控制器 NET ASP MVC 项目 重命名 | 更新日期: 2023-09-27 17:59:31

以前发生过这种情况,我不记得我是如何解决的。我重命名了一个MVC项目,然后进行了ReSharper重构以更新名称空间。现在,当我运行项目时,我会收到以下错误:

Multiple types were found that match the controller named 'Dashboard'. This can happen if the route that services this request ('{controller}/{action}/{id}') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter.
The request for 'Dashboard' has found the following matching controllers:
EkmDomains.FrontEnd.Controllers.DashboardController
EkmDomains.Web.Controllers.DashboardController

我在解决方案中搜索了所有旧的EkmDomains.FrontEnd命名空间出现的地方,并用新的命名空间替换了它,但没有用。。。

有人有什么想法吗?

重命名ASP.NET MVC项目导致控制器出现多个类型错误

哈哈,我刚刚记得上次是怎么做的——你必须手动从bin文件夹中删除旧的dll。进行清理并不能去除它们,因为清理只删除与项目名称匹配的DLL,因此它会将DLL保留为旧的项目名称。

为其他人添加更多内容。这些花费了我一个小时的生命,我再也回不来了。

  1. 不仅删除''bin文件,还删除''obj''debug和''release。

  2. 删除临时ASP.NET文件。

  3. 检查web.config中是否有任何对旧DLL名称的引用。

  4. 检查所有web.config文件。有时也会将一个添加到"视图"文件夹中。

或者,您可以按照以下简单步骤操作。

  1. 转到项目解决方案资源管理器
  2. 右键单击Global.asax文件
  3. 选择"打开方式"选项
  4. 选择"带编码的Global.asax文件编辑器"
  5. 单击"确定",您可以更改代码以自行更正错误

试试看!它对我有效。