2009-01-22 122 views
2

在做一个MVC项目我得到了以下2编译错误:ASP.NET MVC参考问题?

  1. 类型System.Web.Mvc.ViewPage在未引用的程序集定义。您必须添加一个引用组件:

System.Web.Mvc,版本= 1.0.0.0,文化=中立,公钥=空。

  • 呼叫是下列方法或属性之间暧昧:
  • System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web程序。 Mvc.HtmlHelper,字符串,字符串,字符串)和System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,字符串,字符串,字符串)

    我想我有正确的设置在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> 
    

    <namespaces> 
        <add namespace="System.Web.Mvc"/> 
        <add namespace="System.Web.Mvc.Ajax"/> 
        <add namespace="System.Web.Mvc.Html"/> 
        <add namespace="System.Web.Routing"/> 
        <add namespace="System.Linq"/> 
        <add namespace="System.Collections.Generic"/>  
    </namespaces> 
    

    而且,我参考3名的dll我龙头安装asp.net的MVC在:

    C:\Program Files\Microsoft ASP.NET\ASP.NET MVC Beta\Assemblies 
    

    3个dll文件:

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

    有人可以解释出现什么问题以及如何解决他们的问题è?

    回答

    0

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

    2

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

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

    的调用以下方法或属性之间暧昧:“System.Web.Mvc.Html.LinkExtensions.ActionLink(系统.Web.Mvc.HtmlHelper,string,string,string)'和'System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,string,string,string)'

    发生这种情况每个查看页面非常多。我能做些什么来解决这个问题?

    非常感谢!

    +0

    你能告诉你如何在您的视图中使用Html.ActionLink? – 2009-01-23 11:53:26

    1

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

    +0

    第二个错误是因为IDE正在从两个不同的来源获得参考。因此它不能决定选择哪一个。 我将System.Web.Mvc和System.Web.Mvc.Html添加到名称空间部分的web.config文件中。 我删除了System.Web.Mvc.Html并得到修复。 下面是截图,如果有人面临同样的问题:http://i.imgur.com/ctLsgoW.png – Rahatur 2013-05-26 14:31:18

    0

    第二个错误是因为IDE从两个不同的来源获取参考。因此它不能决定选择哪一个。

    我有System.Web.Mvc和System.Web.Mvc.Html添加到命名空间部分web.config文件。 我删除了System.Web.Mvc.Html并得到修复。

    下面是截图,如果任何人也面临同样的问题:enter image description here