2011-03-23 50 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

我認爲這是在您的意見。確保你的觀點中的命名空間是正確的。