Como armazenar e obter informações personalizadas a partir de um ficheiro de configuração de aplicação utilizando o Visual C#

Traduções de Artigos Traduções de Artigos
Artigo: 815786 - Ver produtos para os quais este artigo se aplica.
Para obter uma Microsoft Visual Basic .NET versão deste artigo, consulte 313405.
Este artigo refere-se para o Microsoft .NET Framework seguinte espaço de nomes de biblioteca de classes:
  • System.Configuration
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve como armazenar informações personalizadas num ficheiro de configuração (.config) que pode obter posteriormente durante a execução, a aplicação associada. Isto é útil quando tem de definir dados que está associados uma aplicação.

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Windows 2000, Windows XP, Windows Server 2003, Windows Vista ou Windows Server 2008
  • Microsoft Visual C#
Este artigo pressupõe que está familiarizado com os seguintes tópicos:
  • Extensible Markup Language (XML)
  • Ficheiros de configuração do .NET

Criar uma aplicação de consola que lê o conteúdo de um ficheiro de configuração

Pode armazenar as definições da aplicação no ficheiro de configuração está associado com a aplicação. Ficheiros de configuração são guardados no XML formato.

System.Configuration e espaços de nomes System.Collections.Specialized no Microsoft .NET Framework incluem as classes necessárias para obter informações de um ficheiro de configuração de aplicação do .NET durante a execução.

Para criar uma aplicação de consola que lê o conteúdo de um ficheiro de configuração associados ao durante a execução, siga estes passos:
  1. Inicie o Visual Studio .NET ou Visual Studio 2005.
  2. No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
  3. Clique em Visual C# em Project Types e clique em Aplicação de consola em modelos . Nome do projecto ConConfig . Por predefinição, Visual C# cria uma classe que chama o programa.

    Nota No Visual Studio .NET 2003, clique em Visual C# Projects em Project Types e, em seguida, clique em Aplicação de consola em modelos . Nome do projecto ConConfig . Por predefinição, Visual C# cria uma classe denominada Aula1.
  4. Certifique-se que a janela Solution Explorer está visível. Se não estiver visível, prima a combinação de teclas CTRL + ALT + L.
  5. No Solution Explorer, clique com o botão direito do rato no nome do projecto, clique em Adicionar e, em seguida, clique em Novo Item .
  6. Na lista de Adicionar novo item , clique para seleccionar Ficheiro XML .
  7. Na caixa de texto nome , escreva App.config e, em seguida, clique em Adicionar .

    Nota No Visual Studio .NET 2003, clique em Abrir .
  8. Pode utilizar um ficheiro de configuração da aplicação para recolher as definições de aplicação personalizada que guardar no formato de chave/valor. Pode incluir <add> elementos a <appsettings> secção de um ficheiro de configuração associados. Cada par de chave/valor tiver <add> elemento. Um <add> elemento tem o seguinte formato:
    <add key="Key0" value="0" />
    adicionar um <appsettings> secção com <add> elementos para o ficheiro de configuração entre o <configuration> and </configuration> tags.

    Por exemplo, o ficheiro de configuração que se segue inclui um <appsettings> secção especifica três chave/valor pares:
    <?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>
    
  9. No Solution Explorer, faça duplo clique em Program.cs para visualizar a janela de código. Adicione as declarações seguintes para o módulo de código.

    Nota Estas instruções têm de aparecer antes de quaisquer outras instruções do ficheiro
    using System.Configuration;
    using System.Collections.Specialized;
  10. Adicione uma referência para System.Configuration.dll. Para o fazer, siga estes passos:
    1. No menu projecto , clique em Add Reference .
    2. Na caixa de diálogo Adicionar referência do , clique no separador NET .
    3. Localize e seleccione o nome do componente de System.Configuration.
    4. Clique em OK .
  11. Para manter o valor de uma chave de ficheiro de configuração no <appsettings> secção do ficheiro de configuração, declarar uma variável cadeia na secção principal da seguinte forma:
     string  sAttr ;
  12. Para obter um valor para uma chave especificada a partir de <appsettings> secção do ficheiro de configuração, utilize o método GET de mensagens em fila da propriedade AppSettings da classe ConfigurationManager . A classe ConfigurationManager é no espaço de nomes System.Configuration . Quando o método AppSettings.Get recebe um parâmetro de entrada de cadeia que contém uma chave, a aplicação obtém o valor associado à chave.

    O código seguinte obtém o valor para o atributo Key0 do ficheiro de configuração associados. O código, em seguida, coloca este valor na variável de cadeia sAttr . Se não existir uma chave para este valor, nada é armazenado no sAttr .
    sAttr = ConfigurationManager.AppSettings.Get("Key0");
  13. Para apresentar o valor que a aplicação obtém na janela da consola, utilize Console.WriteLine da seguinte forma:
    Console.WriteLine("The value of Key0 is "+sAttr);
  14. Pode utilizar uma referência à propriedade AppSettings para obter todos os pares chave/valor de <appsettings> secção. Quando utiliza a propriedade AppSettings , a aplicação devolve todos os pares chave/valor associado. Estes pares são armazenados num tipo de NameValueCollection . NameValueCollection contém entradas de chave/valor para cada chave que a aplicação obtém. A classe NameValueCollection é no espaço de nomes System.Collections.Specialized .
    NameValueCollection sAll ;
    sAll = ConfigurationManager.AppSettings;
  15. A propriedade ' AllKeys da NameValueCollection faz referência uma matriz de cadeia que tem uma entrada para cada chave que a aplicação obtém. Utilize uma construção foreach para iterar através de matriz AllKeys para aceder a cada chave que a aplicação obtém. Cada entrada de chave na AllKeys é um tipo de dados de cadeia.

    Dentro de construção foreach , utilize Console.WriteLine para apresentar a chave e respectivo valor associado na consola de janela. A chave actual que processa a aplicação é em "s". Utilize este como um índice numa sAllNameValueCollection para obter o valor associado.
       foreach (string s in sAll.AllKeys)
          Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s));
       Console.ReadLine();

Concluir lista de código

using System;
using System.Configuration;
using System.Collections.Specialized;

namespace ConConfig
{
    class Program
    {
        static void Main(string[] args)
        {
            string sAttr;

            // Read a particular key from the config file            
            sAttr = ConfigurationManager.AppSettings.Get("Key0");
            Console.WriteLine("The value of Key0: " + sAttr);

            // Read all the keys from the config file
            NameValueCollection sAll;
            sAll = ConfigurationManager.AppSettings;

            foreach (string s in sAll.AllKeys)
                Console.WriteLine("Key: " + s + " Value: " + sAll.Get(s));
           Console.ReadLine();
       }
    }
}
Nota Este código é apontar para o .NET Framework 2.0. Se estiver a utilizar o .NET Framework 1.0 ou o .NET Framework 1.1, altere todas as instâncias da classe ConfigurationManager para ConfigurationSettings .

Concluir o ficheiro de configuração lista (ConConfig.exe.config)

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

Verificar se funciona

Prima F5 para executar o código. A janela da consola deve apresentar os pares de chave/valor do <appsettings> secção de configuração associados ao ficheiro da seguinte forma:
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
		

Resolução de problemas

  • O ficheiro de configuração é guardado no formato XML. Certifique-se de que siga todas as regras de sintaxe XML. Lembre-se de que o XML é sensível a maiúsculas e minúsculas. Se o XML não está bem formado, ou se um elemento está mal escrito, receberá uma excepção System.Configuration.Configuration.

    Por exemplo, se adicionar o atributo de um <add> chave elemento com um maiúsculas "K" em vez de uma minúsculas "k", ou se o <appsettings> secção aparece como <appsettings> (com uma maiúsculas "A" em vez de uma minúscula "a"), recebe uma mensagem de erro.
  • O ficheiro de configuração tem de ser guardado na mesma pasta como a aplicação associada.
  • Tem de utilizar a seguinte sintaxe para o nome de ficheiro de configuração:
    ApplicationName. ApplicationType .config
    onde ApplicationName é o nome da aplicação, ApplicationType é o tipo de aplicação (por exemplo, .exe) e .config é o sufixo necessário.

Referências

Para mais informações, consulte o seguinte Microsoft Developer Network) Web sites da MSDN:
Propriedade ConfigurationSettings.AppSettings
http://msdn.microsoft.com/en-us/library/system.configuration.configurationsettings.appsettings(vs.71).aspx
Espaço de nomes System.Configuration
http://msdn.microsoft.com/en-us/library/system.configuration(vs.71).aspx

Propriedades

Artigo: 815786 - Última revisão: 16 de julho de 2008 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbsweptvs2008 kbcollections kbcollectionclass kbconfig kbnamespace kbhowtomaster kbprogramming KB815786 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 815786

Submeter comentários

 

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