2009-04-30 29 views
51

he creado un archivo app.config en mi aplicación WPF:¿Cómo usar un archivo App.config en aplicaciones WPF?

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

entonces trato de leer el valor con esto:

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

pero dice que esto es obsoleta y que debería utilizar ConfigurationManager que no puedo encontrar, incluso buscando en la vista de clase.

¿Alguien sabe cómo usar archivos de configuración como este en WPF?

Respuesta

60

Hay que hacer referencia al ensamblado System.Configuration que está en GAC

El uso de ConfigurationManager no es específica de WPF: es el camino privilegiado para acceder a la información de configuración para cualquier tipo de aplicación

Por favor, vea Msdn para obtener más información

Espero que ayude!

Cédric

+6

si eso es todo, he tenido que cambiar el nombre de los appsettings a appSettings, agregue la referencia System.Configuration a mi proyecto y luego use esto: string xmlDataDirectory = ConfigurationManager.AppSettings.Get ("xmlDataDirectory"); –

14

En App.config que cambia su appSetting a

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

Luego, en código subyacente

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

HTH

1

Esto también funciona

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

Debe agregar la referencia a System.configuration en su solución. También incluye "using System.Configuration"; Una vez que lo haga, tendrá acceso a todas las configuraciones.

5

Tienes que hacer referencia System.Configuration a través del explorador (no solo anexar using System.Configuration). A continuación, se puede escribir:

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

probado con VS2010 (gracias a www.developpez.net). Espero que esto ayude.

+0

Sí, haga clic derecho en Referencias y agregue System.Configuration desde Reference Manager. ¡Gracias! –

2

Puede cambiar el esquema del archivo de configuración de nuevo a DotNetConfig.xsd a través de las propiedades del archivo app.config. Para encontrar el destino del esquema necesario, puede buscarlo por nombre o crear la aplicación winforms, agregarlo al archivo de configuración del proyecto y en sus propiedades encontrará la ruta completa al archivo.

10

En mi caso he seguido los pasos siguientes

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> 

Agregado System.Configuartion a mi solución

Agregado using System.sentencia de configuración en el archivo en la parte superior

A continuación, se utiliza por debajo comunicado

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

Tengo un proyecto WPF biblioteca de clases, y lo uso:

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

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