类型或命名空间名称'membershiuser '找不到
本文关键字:membershiuser 找不到 命名空间 类型 | 更新日期: 2023-09-27 18:16:53
我们最近将我们的解决方案升级到了。net 4.5。
我了解到System.Web.Security.MembershipUser已经被移到了System.Web.ApplicationServices.dll中。
我在网页上添加了我们网站的参考资料。配置文件:
<add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
我在c#页面中使用了正确的"using"语句:
using System.Web.ApplicationServices;
但是,下面的代码仍然在MembershipUser上抛出一个错误:
MembershipUser u = Membership.GetUser(User.Identity.Name);
在这一点上,我完全不确定该做什么。我已经研究了一整天,并应用了一些变化(即网络)。但是这个c#页面仍然不能识别这些更改,错误仍然存在。
奇怪的是,即使存在这个错误,网站也会建立并可用,除了"更改密码"功能,该代码旨在解决。
有没有人可能指出我可能缺少引用或程序集的地方?
好的,我想我明白了。部分问题出在我们的网络上。
我将c#和vb的编译版本更改为4.0:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v4.0"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v4.0"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>
另外,我们的编译目标框架没有指定4.0。
<compilation debug="true" batch="false" batchTimeout="7200" targetFramework="4.0">
现在在构建站点时,MembershipUser现在显示为我所期望的。万岁。
从2.0升级到4.5并不顺利。
对于。net Framework 4.0或以上版本添加System.Web.ApplicationServices.dll的引用