代码之家  ›  专栏  ›  技术社区  ›  DaveK

升级到.NET 4时,MembershipUser/System.Web.ApplicationServices出现问题

  •  6
  • DaveK  · 技术社区  · 15 年前

    我有一个大型的vb.net Web项目,我正试图将其升级到.net4/vs2010。在编译期间,我得到以下错误:

    “assembly”system.web,version=4.0.0.0,culture=neutral,publicKeyToken=b03f5f7f11d50a3a中的“system.web.security.membershipuser”已转发到assembly“system.web.applicationServices”。项目中缺少对“System.Web.ApplicationServices”的引用,或者程序集“System.Web.ApplicationServices”中缺少类型“System.Web.Security.MembershipUser”。

    我研究过这个问题,误差是准确的。我添加了对system.web.applicationservices的引用,但我仍然有问题。项目似乎没有意识到引用已被添加。IntelliSense不会接收它,我不能在导入语句中使用它,等等…

    程序集列在my web.config的编译部分中:

    <assemblies>
    ...
        <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </assemblies>
    

    有什么想法吗?

    4 回复  |  直到 13 年前
        1
  •  3
  •   Scott    13 年前

    我最近将一个项目从3.5升级到4.0,并收到了上面定义的错误。我发现web.config的编译节点上没有包含targetframework属性。这用编译错误解决了我的问题。

    compilation debug="false" strict="false" explicit="true" **targetFramework="4.0"**   
    
        2
  •  7
  •   Cosmin    14 年前

    检查该项目所依赖的项目是否也引用System.Web.ApplicationServices。

        3
  •  1
  •   NoAlias    15 年前

    添加对system.web.extensions.dll的引用,然后重试。

        4
  •  -1
  •   user424095    15 年前

    web.config编译部分中指定的publickeytoken=31bf3856ad364e35与请求的不同(publickeytoken=b03f5f7f11d50a3a)。看看这个。