如何在WPF应用程序中使用App.config文件?

时间:2009-04-30 09:49:28

标签: c# .net wpf configuration

我在WPF应用程序中创建了一个App.config文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appsettings>
    <add key="xmlDataDirectory" value="c:\testdata"/>
  </appsettings>
</configuration>

然后我尝试用这个读取值:

string xmlDataDirectory = ConfigurationSettings.AppSettings.Get("xmlDataDirectory");

但是它说这已经过时了,我应该使用我找不到的ConfigurationManager,甚至在类视图中搜索。

有没有人知道如何在WPF中使用这样的配置文件?

8 个答案:

答案 0 :(得分:68)

您必须引用GAC中的System.Configuration程序集。

ConfigurationManager的使用不是特定于WPF的:它是访问任何类型应用程序的配置信息的特权方式。

有关详细信息,请参阅MSDN

希望它有所帮助!

和Cédric

答案 1 :(得分:18)

在我的情况下,我按照以下步骤进行操作

的App.config

<configuration>  
   <startup> 
       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>

 <appSettings>
   <add key="POCPublishSubscribeQueueName" value="FormatName:Direct=OS:localhost\Private$\POCPublishSubscribe"/>
 </appSettings>

</configuration>

将System.Configuartion添加到我的解决方案

在顶部的文件中使用System.Configuration语句添加

然后使用以下声明

string queuePath = ConfigurationManager.AppSettings["POCPublishSubscribeQueueName"].ToString();

答案 2 :(得分:16)

app.config中,将您的appsetting更改为

<applicationSettings>
    <WpfApplication1.Properties.Settings>
        <setting name="appsetting" serializeAs="String">
            <value>c:\testdata.xml</value>
        </setting>
    </WpfApplication1.Properties.Settings>
</applicationSettings>

然后,在代码隐藏中,

string xmlDataDirectory = WpfApplication1.Properties.Settings.Default.appsetting.ToString()

HTH

答案 3 :(得分:6)

您必须在解决方案中添加对System.configuration的引用。另外,请加using System.Configuration;。完成后,您将可以访问所有配置设置。

答案 4 :(得分:5)

您必须通过资源管理器引用System.Configuration(不仅要附加using System.Configuration)。然后你可以写:

string xmlDataDirectory = 
    System.Configuration.ConfigurationManager.AppSettings.Get("xmlDataDirectory");

使用VS2010测试(感谢www.developpez.net)。 希望这会有所帮助。

答案 5 :(得分:2)

您可以通过DotNetConfig.xsd文件的属性将配置文件架构更改回 app.config 。要查找所需模式的目标,可以按名称搜索或创建WinForms应用程序,添加项目配置文件,在其属性中,您将找到文件的完整路径。

答案 6 :(得分:1)

这也有效

WpfApplication1.Properties.Settings.Default["appsetting"].ToString()

答案 7 :(得分:-2)

我有一个类库WPF项目,我使用:

'Read Settings
Dim value as string = My.Settings.my_key
value = "new value"

'Write Settings
My.Settings.my_key = value
My.Settings.Save()