2010-11-19 127 views
1

配置文件。从App.Config读取设置

我应该如何在C#中使用System.Configuration.ConfigurationManager类读取用户名和密码的值?我尝试了几个东西,但无济于事。

app.config在下面给出。

<configuration> 
    <configSections> 
     <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
      <section name="Fulfillment.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
     </sectionGroup> 
    </configSections> 
    <applicationSettings> 
     <Fulfillment.Properties.Settings> 
      <setting name="username" serializeAs="String"> 
       <value>MyUserName</value> 
      </setting> 
      <setting name="password" serializeAs="String"> 
       <value>MyPassword</value> 
      </setting> 
     </Fulfillment.Properties.Settings> 
    </applicationSettings> 
</configuration> 

请帮忙。谢谢。

+0

这不是一个有效的XML文件。我没有看到一个关闭的'applicationSettings'元素。 – Oded 2010-11-19 16:06:27

+0

@Oded,这显然是他的web.config文件的摘录。有多个节点未关闭。他只是发布他认为相关的东西。 – 2010-11-19 16:09:35

+1

@ mjw06d - 我已经学会了不要再做出这样的假设。如果他说这是一个节录,那就很好。 – Oded 2010-11-19 16:10:57

回答

2

我使用用户变量在我的应用程序,并与访问它们:

var PropertyValue = Properties.Settings.Default.PropertyName 

其中属性名是MyUserName输入或MyPassword输入你的情况。

+0

对不起,我看到你编辑了你的帖子,你正在使用应用程序值。 – Dave 2010-11-19 16:09:06

+0

好的,谢谢,这个工程。我不知道。但是应该有一种方法可以使用ConfigurationManager类读取它们。不应该吗? – 2010-11-19 16:13:12

+1

我之前没有使用ConfigurationManager,但仅供参考,我想提出的另一点是您可能想要使用userSettings和* not * appSettings。根据我的经验,只能通过更改Visual Studio中的值并重新编译应用程序来更改appSettings。 appSettings允许您直接修改 .exe.config。 – Dave 2010-11-22 14:35:18

7

如果值是在文件的appSettings部分:

<appSettings> 
    <add key="myUsername" value="david"/> 
    <add key="myPassword" value="iLikeHalibut"/> 
</appSettings> 

可以按如下阅读:

string myUsername = System.Configuration.ConfigurationManager.AppSettings["myUsername"]; 

您需要确保装配你是编程包含参考System.Configuration.dll(它并不总是默认)。

+0

是的,我知道,我刚刚遇到该app.config并尝试使用ConfigurationManager读取无济于事。但是没有关于可以通过Properties类与您的项目读取的Settings类。谢谢大家。 – 2010-11-19 16:17:18