c# - 找不到类型或命名空间名称 'MembershipUser'

标签 c# asp.net .net-4.5

我们最近将我们的解决方案升级到了 .NET 4.5。

我了解到 System.Web.Security.MembershipUser 已移至 System.Web.ApplicationServices.dll。

我在 web.config 文件中添加了对我们网站的引用:

<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);

此时我完全不确定该怎么做。我一整天都在研究这个问题并应用了一些更改(即 web.config 更改),但是这个 c# 页面仍然无法识别这些更改并且错误仍然存​​在。

奇怪的是,即使存在此现有错误,该网站仍将构建并可用,但此代码旨在解决的“更改密码”功能除外。

任何人都可以指出我在哪里可能缺少引用或程序集吗?

最佳答案

好的,我想我明白了。部分问题出在我们的 Web.config 中。

我将 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 的过程并不顺利。

关于c# - 找不到类型或命名空间名称 'MembershipUser',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25168209/

相关文章:

c# - 尝试使用 Graph API 访问驱动器项目时出现 "Tenant does not have a SPO license"

asp.net - asp net CompareValidator type double datatypecheck 允许错误值

asp.net-mvc -/obj/debug 中的临时生成文件_[guid] 破坏构建

.net - 来自 Microsoft.VisualBasic.Compatibility 的 DirListBox 和/或 FileListBox 的替换

c# - 如何使用c#与开关EKI-1526和电表进行通信

c# - 命令执行mysql数据插入时遇到 fatal error

c# - 检查访问 token 是否有效 - 身份服务器

c# - 你如何在 C# 中获取所有的 post 请求变量?

c# - .Net Web Api - 覆盖 AuthorizationFilter

c# - 反序列化 XmlDocument 的最短方法