【问题标题】:Problems with MembershipUser / System.Web.ApplicationServices when upgrading to .net 4升级到 .net 4 时 MembershipUser / System.Web.ApplicationServices 的问题
【发布时间】:2010-06-05 15:34:50
【问题描述】:

我有一个大型 vb.net 网络项目,我正在尝试升级到 .net4/VS2010。在编译过程中出现以下错误:

程序集“System.Web,版本=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”中的“System.Web.Security.MembershipUser”已转发到程序集“System.Web.ApplicationServices”。您的项目中缺少对“System.Web.ApplicationServices”的引用,或者程序集“System.Web.ApplicationServices”中缺少类型“System.Web.Security.MembershipUser”。

我研究了这个问题,错误是准确的。我添加了对 System.Web.ApplicationServices 的引用,但我仍然遇到问题。该项目似乎没有认识到该引用已被添加。 Intellisense 不会拾取它,我不能在 Import 语句中使用它,等等......

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

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

有什么想法吗?

【问题讨论】:

    标签: vb.net visual-studio-2010 .net-4.0


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      compilation debug="false" strict="false" explicit="true" **targetFramework="4.0"**   
      

      【讨论】:

      • 这对我有用,同时也将 中的 VB/C# CompilerVersions 更改为 v4.0。谢谢!
      【解决方案3】:

      添加对 System.Web.Extensions.dll 的引用,然后尝试。

      【讨论】:

      • 我在参考文献中已经有了这个。删除并重新添加。没有运气。
      【解决方案4】:

      在 Web.config 的编译部分中指定的 PublicKeyToken=31BF3856AD364E35 与请求的不同 (PublicKeyToken=b03f5f7f11d50a3a)。看看这个。

      【讨论】:

      • -1:PublicKeyToken 31BF3856AD364E35 对 System.Web.ApplicationServices 是正确的。 b03f5f7f11d50a3a 是 System.Web 的 PublicKeyToken。
      猜你喜欢
      • 2010-12-23
      • 2018-07-15
      • 2011-02-17
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      相关资源
      最近更新 更多