我有一个大型的vb.net web项目,我正在尝试升级到.net4 / VS2010。在编译期间,我收到以下错误:
汇编'System.Web,Version = 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>
有什么想法吗?
答案 0 :(得分:7)
检查所依赖的项目是否也引用System.Web.ApplicationServices。
答案 1 :(得分:3)
我最近将项目从3.5升级到4.0并收到了您在上面定义的错误。我发现targetFramework属性未包含在web.config中的编译节点上。这解决了编译错误的问题。
compilation debug="false" strict="false" explicit="true" **targetFramework="4.0"**
答案 2 :(得分:2)
添加对System.Web.Extensions.dll的引用,然后尝试。
答案 3 :(得分:-1)
在Web.config的编译部分中指定的PublicKeyToken = 31BF3856AD364E35与请求的不同(PublicKeyToken = b03f5f7f11d50a3a)。看看这个。