Cómo almacenar y recuperar información personalizada de un archivo de configuración de la aplicación mediante Visual Basic .NET o Visual Basic 2005

Seleccione idioma Seleccione idioma
Id. de artículo: 313405 - Ver los productos a los que se aplica este artículo
Para obtener una versión de Microsoft Visual C# .NET de este artículo, consulte 815786.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se muestra cómo almacenar información personalizada en un archivo de configuración (.config) que puede recuperar posteriormente durante el tiempo de ejecución por su aplicación asociada. Esto es una útil cuando tiene que definir los datos que está asociados con una aplicación.


Requisitos

En la lista siguiente se describe el hardware, el software, la infraestructura de red y los service pack recomendados que se necesitarán:
  • Microsoft Windows 2000, Microsoft Windows XP o Microsoft Windows Server 2003
  • Microsoft Visual Studio .NET (2002) o Microsoft Visual Studio .NET (2003) o Microsoft Visual Studio 2005
En este artículo se supone que está familiarizado con los temas siguientes:
  • Lenguaje de marcado extensible (XML)
  • Archivos de configuración de .NET

Crear aplicación de consola que lee el contenido de archivo de configuración

Puede almacenar la configuración de aplicación en el archivo de configuración que está asociado con la aplicación. Archivos de configuración se guardan en XML formato. Espacios de nombres System.Collections.Specialized en Microsoft .NET Framework y de la System.Configuration incluyen las clases necesarias para recuperar información de un archivo de configuración de aplicación .NET durante el tiempo de ejecución.

Para crear una aplicación de consola que lee el contenido de un archivo de configuración asociada durante el tiempo de ejecución, siga estos pasos:
  1. Inicie Visual Studio .NET o Visual Studio 2005.
  2. Cree un nuevo proyecto de aplicación de consola denominado ConConfig en Visual Basic .NET o Visual Basic 2005. Visual Basic .NET o Visual Basic 2005 crea un módulo denominado Module1 de forma predeterminada.
  3. Haga clic con el botón secundario en el ConConfig proyecto carpeta, elija Agregar y, a continuación, haga clic en Agregar nuevo elemento .

    Nota En Visual Studio 2005, haga clic con el botón secundario en el ConConfig proyecto carpeta, elija Agregar y, a continuación, haga clic en Nuevo elemento .
  4. En el cuadro de diálogo Agregar nuevo elemento , seleccione la plantilla Application Configuration File , haga clic en Abrir y, a continuación, agregue el archivo app.config al proyecto.

    Nota El Visual Studio .NET o Visual Studio 2005 IDE copia app.config en la carpeta donde se compila el archivo ejecutable y cambia el nombre de en <ApplicationName>. <Application Type>.config formato.
  5. Puede utilizar un archivo de configuración de la aplicación para recopilar la configuración de aplicación personalizada que se guarda en formato de clave y valor. Puede incluir <add> elementos en el <appsettings> sección de un archivo de configuración asociado. Cada par clave/valor tiene uno <add> elemento. Un <add> elemento tiene el formato siguiente:
    <add key="theKey" value="theValue" />
    						
    agregar un <appsettings> sección con <add> elementos para el archivo de configuración entre las etiquetas <configuration> y </configuration>. Por ejemplo, el siguiente archivo de configuración incluye un<appsettings> sección especifica tres pares de clave y valor:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    	<appSettings>
    		<add key="Key0" value="0" />
    		<add key="Key1" value="1" />
    		<add key="Key2" value="2" />
    	</appSettings>
    </configuration>
    					
  6. En el Explorador de soluciones, haga doble clic en Module1.vb a mostrar la ventana de código de Module1. Agregue las instrucciones siguientes a su módulo de código:

    Nota Estas instrucciones deben aparecer antes de cualquier otra instrucción en el archivo.
    Imports System.Configuration
    Imports System.Collections.Specialized
    					
  7. En el procedimiento Sub Main , la dimensión de una variable de cadena para contener el valor de una clave de archivo de configuración en el <appsettings> sección del archivo de configuración:
    Dim sAttr As String
    					
  8. Para recuperar un valor de una clave especificada de la <appsettings> sección del archivo de configuración, utilice el método AppSettings de la clase ConfigurationSettings . La clase ConfigurationSettings es espacio de nombres System.Configuration . Cuando el método AppSettings recibe un parámetro de entrada de cadena que contiene una clave, la aplicación recupera el valor asociado con la clave.

    El código siguiente recupera el valor del atributo de Key0 del archivo de configuración asociada. El código a continuación, coloca este valor en la variable de cadena sAttr . Si una clave no existe para este valor, Nothing se almacena en sAttr .
    sAttr = ConfigurationSettings. AppSettings("Key0")
    					
  9. Para mostrar el valor que la aplicación recupera en la ventana de la consola, utilice Console.WriteLine :
    Console.WriteLine("The value of Key0: " & sAttr)
    					
  10. Puede utilizar una referencia a la propiedad AppSettings para recuperar todos los pares clave/valor en el <appsettings> sección. Si no especifica los parámetros cuando se utiliza la propiedad AppSettings , la aplicación devuelve todos los pares clave/valor asociado. Estos pares se almacenan en un tipo NameValueCollection , que contiene entradas de clave y valor para cada clave que se recupera de la aplicación. La clase NameValueCollection está en el espacio de nombres System.Collections.Specialized .
    Dim sAll As NameValueCollection
    sAll = ConfigurationSettings.AppSettings()
    					
  11. La propiedad AllKeys de NameValueCollection hace referencia a una matriz de cadena que tiene una entrada para cada clave que se recupera de la aplicación. Utilizar una construcción For Next para recorrer la matriz AllKeys para tener acceso a cada clave que se recupera de la aplicación. Cada entrada clave de AllKeys es una cadena de datos tipo.
    Dim s As String
    For Each s In sAll.AllKeys
    					
  12. Dentro de la construcción For Each , utilice Console.WriteLine para mostrar la clave y su valor asociado en la consola de ventana. La clave actual que procesa la aplicación está en "s". Use esta opción como un índice en sAll NameValueCollection para obtener su valor asociado.

    Por ejemplo, si la aplicación procesa la tecla de Key0 , sAll("Key0") recupera su valor asociado. La instrucción Console.readline una pausa en la consola. Puede presionar ENTRAR para finalizar la aplicación.
        Console.WriteLine("Key: " & s & " Value: " & sAll(s))
    Next
    Console.Readline
    					

Comprobar que funciona

Presione la tecla F5 para ejecutar el código. La ventana de consola debe mostrar los pares de clave y valor de la <appsettings> archivo de sección de configuración asociada como sigue:
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
					

Lista de código completa

Imports System.Configuration
Imports System.Collections.Specialized

Module Module1

    Sub Main()
        Dim sAttr As String

        sAttr = ConfigurationSettings.AppSettings("Key0")
        Console.WriteLine("The value of Key0: " & sAttr)
        
        Dim sAll As NameValueCollection
        sAll = ConfigurationSettings.AppSettings()

        Dim s As String
        For Each s In sAll.AllKeys
            Console.WriteLine("Key: " & s & " Value: " & sAll(s))
        Next
		  Console.ReadLine()
    End Sub

End Module
				

Completar el archivo de configuración listado (ConConfig.exe.config)

<configuration>
	<appSettings>
		<add key="Key0" value="0"/>
		<add key="Key1" value="1"/>
		<add key="Key2" value="2"/>
	</appSettings>
</configuration>
				

Solución de problemas

  • El archivo de configuración se guarda en formato XML. Asegúrese de que siga todas las reglas de sintaxis XML. Recuerde que XML distingue mayúsculas de minúsculas. Si el código XML no está bien formado, o si un elemento está mal escrito, recibirá una excepción System.Configuration.Configuration.

    Por ejemplo, si agrega el atributo clave de un <add> elemento con una mayúscula "K" en lugar de una minúscula "k", o si el <appsettings> sección aparece como <appsettings> (con una mayúscula "A" en lugar de una minúscula "a"), recibirá un mensaje de error.
  • El archivo de configuración debe incluirse en el proyecto.
  • Debe utilizar la siguiente sintaxis para el nombre de archivo de configuración cuando se crea el archivo fuera del entorno de Visual Studio y debe residir en la misma carpeta que su aplicación asociado:
    ApplicationName. ApplicationType .config
    donde ApplicationName es el nombre de la aplicación, ApplicationType es el tipo de aplicación (por ejemplo, exe) y .config es el sufijo necesario.

Referencias

Para obtener más información, visite los siguientes sitios Web MSDN:
Propiedad ConfigurationSettings.AppSettings
http://msdn2.microsoft.com/en-us/library/system.configuration.configurationsettings.appsettings(vs.71).aspx
Espacio de nombres System.Configuration
http://msdn2.microsoft.com/en-us/library/system.configuration(vs.71).aspx

Propiedades

Id. de artículo: 313405 - Última revisión: miércoles, 06 de diciembre de 2006 - Versión: 5.5
La información de este artículo se refiere a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbmt kbvs2005swept kbvs2005applies kbconfig kbhowtomaster KB313405 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 313405

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com