Asp.net mvc 4 (并非如此)MVC4beta中的不明确调用

Asp.net mvc 4 (并非如此)MVC4beta中的不明确调用,asp.net-mvc-4,Asp.net Mvc 4,利用MVC4beta版及其移动功能,在Login.Mobile.cshtml @Html.Partial(“_ViewSwitcher”) 导致此编译器错误的原因: 以下方法或属性之间的调用不明确: 'System.Web.Mvc.Html.partialExtrains.Partial(System.Web.Mvc.HtmlHelper,string)' 'System.Web.Mvc.Html.partialExtraints.Partial(System.Web.Mvc.HtmlHelpe

利用MVC4beta版及其移动功能,在
Login.Mobile.cshtml

@Html.Partial(“_ViewSwitcher”)

导致此编译器错误的原因:

以下方法或属性之间的调用不明确: 'System.Web.Mvc.Html.partialExtrains.Partial(System.Web.Mvc.HtmlHelper,string)' 'System.Web.Mvc.Html.partialExtraints.Partial(System.Web.Mvc.HtmlHelper,string)'

这是在System.Web.Mvc(在System.Web.Mvc.dll中)中定义的,我似乎只有一个引用

尽管存在编译器错误,应用程序仍能正确运行

视图中没有使用语句的
,尽管以下名称空间是通过
web.config
合并的:

    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />


发生了什么,我如何才能消除误导性的编译器错误?

该方法在两个地方定义是导致这种情况的常见原因,它可以来自以前版本的引用程序集,编译器将选择最可能的并使用它,这样就不会停止处理。

视图顶部的@using语句是什么样子?@ShaneCourtrille:No-using语句,尽管有些名称空间是通过web.config合并的。更新了问题。您的布局是否有@using语句?不确定这些是否在编译时被应用…@Shane:不,没有。关于如何修复这个问题,还有什么进一步的消息吗?我也有同样的问题。非常烦人。是的,但我看不出我如何能够引用同一个System.Web.Mvc.dll两次,也不应该在任何其他程序集中定义该方法。忘记了,另一种方法是,如果您有一个x64文件夹要生成,并且生成的dll最终位于std文件夹中,则会出现不明确的错误。