Как использовать файл App.config в приложениях WPF? - PullRequest
59 голосов
/ 30 апреля 2009

Я создал файл App.config в своем приложении WPF:

<?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 ]

68 голосов
/ 30 апреля 2009

Вы должны ссылаться на сборку System.Configuration, которая находится в GAC.

Использование ConfigurationManager не зависит от WPF: это привилегированный способ доступа к информации о конфигурации для любого типа приложения.

См. MSDN для получения дополнительной информации

Надеюсь, это поможет!

Седрик

18 голосов
/ 15 апреля 2014

В моем случае я следовал ниже шагов

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();
16 голосов
/ 30 апреля 2009

В вашем app.config измените настройку приложения на

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

НТН

6 голосов
/ 29 октября 2010

Вы должны добавить ссылку на System.configuration в своем решении. Также включите using System.Configuration;. Как только вы это сделаете, у вас будет доступ ко всем параметрам конфигурации.

5 голосов
/ 15 февраля 2012

Вы должны ссылаться на System.Configuration через проводник (не только добавлять using System.Configuration). Тогда вы можете написать:

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

Протестировано с VS2010 (благодаря www.developpez.net). Надеюсь, это поможет.

2 голосов
/ 10 мая 2013

Вы можете изменить схему файла конфигурации обратно на DotNetConfig.xsd через свойства файла app.config. Чтобы найти место назначения нужной схемы, вы можете найти ее по имени или создать приложение WinForms, добавить в проект файл конфигурации и в его свойствах вы найдете полный путь к файлу.

1 голос
/ 09 апреля 2010

Это также работает

WpfApplication1.Properties.Settings.Default["appsetting"].ToString()
0 голосов
/ 23 июля 2016

У меня есть проект библиотеки классов WPF, и я использую:

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

'Write Settings
My.Settings.my_key = value
My.Settings.Save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...