2015-09-04 73 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。现在一切正常。

相关问题