2009-04-30 5 views
51

Я создал файл App.config в моем WPF приложения:Как использовать файл 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?

ответ

60

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

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

Пожалуйста, см Msdn для дополнительной информации

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

Седрик

+6

да это так, я должен был изменить имя от appsettings до appSettings, добавьте ссылку System.Configuration в мой проект, а затем используйте это: string xmlDataDirectory = ConfigurationManager.AppSettings.Get ("xmlDataDirectory"); –

14

В вы 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

1

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

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

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

5

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

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

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

+0

Да, щелкните правой кнопкой мыши по ссылкам и добавьте System.Configuration из диспетчера ссылок. Благодаря! –

2

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

10

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

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 к моему решению

Добавлено с помощью системы.Заявление конфигурации в файле на верхнем

Затем используется ниже заявление

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

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

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

'Write Settings 
My.Settings.my_key = value 
My.Settings.Save() 
Смежные вопросы