2015-09-04 56 views
0

我有一個基於MVC 5的解決方案,其中有一個ClientData項目。它包括部分_ViewSwitcher,因爲我想爲移動和桌面瀏覽器提供服務。在主頁上,當我點擊ViewSwitcher的Mobile view鏈接,我得到以下異常:爲什麼「找到與名爲'ViewSwitcher'的控制器匹配的多種類型」?

Multiple types were found that match the controller named 'ViewSwitcher'.... 

The request for 'ViewSwitcher' has found the following matching controllers: 
PayCaddy.Data.Controllers.ViewSwitcherController 
PayCaddy.Client.Controllers.ViewSwitcherController 

我已經做了所有文件的解決方案廣泛的搜索術語(不是整個單詞)'ViewSwitcher', and found only one .cs result, in the .Client project, and three results in _layout。 Mobile.cshtml and _ViewSwitcher.cshtml`。另外,我手動檢查了文件系統是否有任何重複,沒有找到。

這可能是什麼原因造成的?

+0

奇怪!你還試過了什麼?你是否清除了可能的舊程序集?這是服務器/服務上託管的唯一解決方案嗎? –

+0

我對ViewSwitcher不熟悉,所以這可能是一個愚蠢的問題。當您將它添加到解決方案中時,是否將它添加到兩個項目中?如果是這樣,那有必要嗎? – JDupont

+0

是的。這個數據項目在整個項目過程中,當我只有一個視圖和大量的數據建模時,我將客戶端的東西移動到了它自己的項目中。然而,我已經清理了數據項目的bin文件夾,甚至手動搜索了數據項目的'.csproj'文件以找到重複的View Switcher,並且我無法在任何地方找到它。我沒有自己添加它,它是NuGet軟件包的一部分。 – ProfK

回答

0

事實證明,Client引用的是舊的DLL的Data,而不是Data項目,即它是'組件引用'而不是'項目引用'。刪除舊的DLL,並將該引用切換到項目引用中也有訣竅。但是,之前我不得不刪除Data的所有using語句,重建並獲取錯誤,然後替換所有的using。現在一切正常。

相關問題