C# 如何访问ASP.NET 4.5中的web.config配置文件属性?

C# 如何访问ASP.NET 4.5中的web.config配置文件属性?,c#,asp.net,.net,C#,Asp.net,.net,我浏览了ASP.NET4.0在线课程,这只是第一堂课之一 我已经安装了Visual Studio 2012 for Web,并且安装了ASP.NET 4.5 为了访问一些web.config属性,课程中的guy写了以下几行: Profile.Preferences.MyParameter = "MyValue"; 但是当我键入相同的内容时,它会给我一个错误:Profile元素在当前上下文中不存在。当我试图访问System.Web.Profile.Preferences时,它会说类型或命名空间“

我浏览了ASP.NET4.0在线课程,这只是第一堂课之一

我已经安装了Visual Studio 2012 for Web,并且安装了ASP.NET 4.5

为了访问一些web.config属性,课程中的guy写了以下几行:

Profile.Preferences.MyParameter = "MyValue";
但是当我键入相同的内容时,它会给我一个错误:
Profile元素在当前上下文中不存在
。当我试图访问
System.Web.Profile.Preferences
时,它会说
类型或命名空间“Preferences”在System.Web.Profile
中丢失

谁能告诉我发生了什么事?ASP.NET 4.5是这种行为的原因吗?如果是,如何访问相同的web.config属性是ASP.NET 4.5

我的web.config如下所示:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <profile>
      <properties>
        <group name="Preferences">
          <add name="MyParameter"/>
        </group>
      </properties>
    </profile>
  </system.web>
</configuration>

这是因为Membership.GetUser()返回null。我该怎么办?

根据您的描述,我认为问题在于它引用不正确,因此无法找到您试图访问的内容

我猜你试过了:

当您引用作者时,Joel Spolsky回答的第一部分是您使用的是哪种应用程序类型??? VisualStudio中有两种项目——“网站项目”和“Web应用程序项目” 还有其他几种类型的项目,但它们是主要的“web”应用程序

如何访问属性的具体细节因框架和应用程序类型而异。例如,如果您在Windows窗体中有app.config,或者如果您在web应用程序中有web.config。您是制作了web.config还是在那里编辑了它

我可以试着解释如何访问属性,但是如果它与您的应用程序的类型不同,那么它无论如何都不会工作

你能从检查这个开始吗 ?


如果您的项目类型错误,请尝试以正确的类型创建一个新项目,然后查看现有代码是否有效。

您想做什么?您似乎没有尝试访问web.config属性。您可以使用@MikeSmithDev访问配置文件的配置文件部分。我已将web.config内容添加到问题中。我需要为
“MyParameter”
分配一个值。您可以先尝试解决您的Membership.GetUser()问题。一旦这些问题得到解决,您可能会发现您的个人资料问题已得到相关和/或解决。
static public AccountProfile CurrentUser
    {
        get { return (AccountProfile)
                     (ProfileBase.Create(Membership.GetUser().UserName)); }
    }