web-dev-qa-db-fra.com

Comment utiliser un fichier App.config dans les applications WPF?

J'ai créé un fichier App.config dans mon application WPF:

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

Ensuite, j'essaie de lire la valeur avec ceci:

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

Mais cela dit que c'est obsolète et que je devrais utiliser ConfigurationManager que je ne trouve pas, même en cherchant dans la vue de classe.

Est-ce que quelqu'un sait comment utiliser des fichiers de configuration comme celui-ci dans WPF?

60
Edward Tanguay

Vous devez référencer le System.Configuration Assemblée qui est dans GAC.

L'utilisation de ConfigurationManager n'est pas spécifique à WPF: c'est le moyen privilégié d'accéder aux informations de configuration pour tout type d'application.

S'il vous plaît voir MSDN pour plus d'informations

J'espère que ça aide !

Cédric

69
Cédric Rup

Dans mon cas, j'ai suivi les étapes ci-dessous

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>

Ajouter System.Configuration à ma solution

Ajouté à l'aide de l'instruction System.Configuration dans le fichier en haut

Puis utilisé ci-dessous

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

Dans votre app.config, changez votre jeu d'applications en

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

Ensuite, dans le code-behind,

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

HTH

16
Anand Shah

Vous devez ajouter la référence à System.configuration dans votre solution. En outre, inclure using System.Configuration;. Une fois que vous faites cela, vous aurez accès à tous les paramètres de configuration.

6
Larry

Vous devez faire référence à System.Configuration via Explorer (pas seulement append using System.Configuration). Ensuite, vous pouvez écrire:

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

Testé avec VS2010 (grâce à www.developpez.net). J'espère que cela t'aides.

5
user1210085

Vous pouvez rétablir le schéma du fichier de configuration en DotNetConfig.xsd via les propriétés du app.config fichier. Pour trouver la destination du schéma requis, vous pouvez le rechercher par nom ou créer une application WinForms, ajouter au projet le fichier de configuration et dans ses propriétés, vous trouverez le chemin d'accès complet au fichier.

2

Cela fonctionne aussi

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