ASP.NET MVC参考问题?

ASP.NET MVC参考问题?,.net,asp.net-mvc,.net,Asp.net Mvc,在执行MVC项目时,我遇到了以下两个编译错误: 类型System.Web.Mvc.ViewPage在未引用的程序集中定义。必须添加对程序集的引用: System.Web.Mvc,版本=1.0.0.0,区域性=中立,PublicKeyToken=null 以下方法或属性之间的调用不明确: System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,string,string)和System.Web.Mvc.Html

在执行MVC项目时,我遇到了以下两个编译错误:

  • 类型
    System.Web.Mvc.ViewPage
    在未引用的程序集中定义。必须添加对程序集的引用:
  • System.Web.Mvc,版本=1.0.0.0,区域性=中立,PublicKeyToken=null

  • 以下方法或属性之间的调用不明确:
  • System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,string,string)和System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,string,string)

    我想我在
    web.config

    <compilation debug="true">
      <assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
      </assemblies>
    </compilation>
    
    3个DLL:

    System.Web.Abstractions.dll
    System.Web.Routing.dll
    System.Web.Mvc.dll
    

    有人能告诉我出了什么问题以及如何解决吗?

    因为您引用了所有正确的程序集,而我看不到您的Web.Config文件有任何问题,我想知道您是否引用了正确的程序集版本。ASP.NET MVC的几个版本已经发布,您可能仍然在引用System.Web.MVC.dll的早期版本(1.0.0.0之前的版本)?

    我从CodePlex下载了最新的MVC源代码并构建了它。我修复了第一个错误,将System.Web.Mvc.dll引用到我下载的版本,将其他两个dll引用到C:\Program Files\Microsoft ASP.NET\ASP.NET Mvc Beta\Assemblys文件夹中的dll

    现在第一个错误不存在,但是第二个错误仍然存在

    以下方法或属性之间的调用不明确:“System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,string,string)”和“System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,string,string)”

    这几乎发生在每个查看页面上。我能做些什么来解决这个问题


    非常感谢你

    第二个错误可能是由于其中一个视图中存在错误。我在使用ASP.NET MVC时遇到过类似的问题。当视图中出现错误时,编译器错误不是很具体。因此,请关注视图,特别是调用Html.ActionLink()的代码部分。这最终会将您带到错误的来源…

    第二个错误是因为IDE从两个不同的来源获取引用。因此,它无法决定选择哪一个

    我将System.Web.Mvc和System.Web.Mvc.Html添加到名称空间部分Web.config文件中。 我删除了System.Web.Mvc.Html,它得到了修复


    如果有人面临同样的问题,下面是屏幕截图:

    第二个错误是因为IDE从两个不同的来源获得引用。因此,它无法决定选择哪一个。我将System.Web.Mvc和System.Web.Mvc.Html添加到名称空间部分Web.config文件中。我删除了System.Web.Mvc.Html,它得到了修复。如果有人面临同样的问题,下面是屏幕截图:
    C:\Program Files\Microsoft ASP.NET\ASP.NET MVC Beta\Assemblies
    
    System.Web.Abstractions.dll
    System.Web.Routing.dll
    System.Web.Mvc.dll