Gerenciamento de configurações do aplicativo

As configurações de aplicativo permitem a você armazenar e recuperar configurações de propriedade e outras informações para seu aplicativo dinamicamente.Eles também permitem que você mantenha aplicativos personalizados e preferências do usuário sobre o computador cliente.Geralmente isso são dados (como uma cadeia de conexão) que é fundamental para a execução do aplicativo e que você não deseja incluir diretamente no código do aplicativo.Convém armazenar duas cadeias de conexão de banco de dados diferentes e recuperar uma delas em tempo de execução com base no local do computador.Ou você talvez queira armazenar preferências de cor do usuário e, em seguida, recuperá-las na próxima vez que o aplicativo é executado.

Observe que as configurações de aplicativo são uma Visual Studio recurso substitui o recurso de propriedades dinâmicas nas versões anteriores.

Cada configuração de aplicativo deve ter um nome exclusivo.O nome pode ser qualquer combinação de letras, números ou um sublinhado que não inicia com um número, e não pode conter espaços.O nome pode ser alterado através da propriedade Name.

Configurações do aplicativo podem ser armazenadas como qualquer tipo de dados XML serializável ou tem um TypeConverter que implementa ToString/FromString.Os tipos mais comuns são String, Integer e Boolean, mas você também pode armazenar valores como Color, Object ou como um cadeia de conexão.

Configurações do aplicativo também contém um valor.O valor é definido com a propriedade Value e deve corresponder ao tipo de dados da configuração.

Além disso, as configurações do aplicativo podem ser associadas a uma propriedade de um formulário ou controle em tempo de design.

Há dois tipos de configurações do aplicativo, com base no escopo:

  • Configurações no escopo do aplicativo podem ser usadas para informações como a URL de um serviço Web ou uma cadeia de conexão de banco de dados.Esses valores são associados com o aplicativo.Portanto, os usuários não podem alterá-los em tempo de execução.

  • Configurações no escopo do usuário podem ser usadas para obter informações, como aceitar a última posição de um formulário ou uma preferência da fonte.Os usuários podem alterar esses valores em tempo de execução.

Você pode alterar o tipo de uma configuração usando a propriedade Scope.

O sistema do projeto armazena configurações do aplicativo em dois arquivos XML: um arquivo app.config, que é criado em tempo de design quando você cria a primeira configuração do aplicativo; e um arquivo User.config, que é criado em tempo de execução quando o usuário que executa o aplicativo altera o valor de qualquer configuração do usuário.Observe que as alterações no Configurações de Usuário não são gravadas em disco, a menos que o aplicativo chame um método para fazer isso especificamente.

Criando definições de aplicativo em tempo de design

Em tempo de design, você pode criar configurações de aplicativo usando a página Settings do Project Designer ou utilizando a janela Properties para um formulário ou controle, o que permite associar uma configuração a uma propriedade.

Quando você cria uma configuração no escopo do aplicativo( por exemplo, uma cadeia de conexão de banco de dados ou uma referência a recursos de servidor), o Visual Studio salva essas informações no arquivo app.config com a guia <applicationSettings>.(As cadeias de conexão são salvas sob a marca <connectionStrings>.)

Quando você cria uma definição de escopo do usuário (por exemplo, fonte padrão, página inicial ou o tamanho da janela), Visual Studio salva-o no app.config com a marca <userSettings>.

Observação de segurançaObservação de segurança

Quando você armazena cadeias de conexão em app.config, deve tomar precauções para evitar revelar informações sigilosas, como senhas ou caminhos de servidor, na cadeia de conexão.

Se você extrair informações de cadeia de conexão de uma fonte externa, como um usuário que fornece um ID de usuário e uma senha, deverá ser cuidadoso para assegurar que os valores usados para construir a cadeia de conexão não contêm parâmetros adicionais de cadeia de conexão que alteram o comportamento da conexão.

Considere a possibilidade de usar o recurso protegido de configuração para criptografar informações sigilosas em um arquivo de configuração.Consulte Securing Connection Strings para maiores informações.

ObservaçãoObservação

Porque não há nenhum modelo arquivo de configuração para bibliotecas de classes, Configurações do aplicativo não se aplicam para projetos de biblioteca de classes.A exceção é um Visual Studio Tools for Office DLL do projeto, que pode ter um arquivo de configuração.

Usando arquivos de configurações Personalizada

Você pode adicionar arquivos de configurações personalizadas ao seu projeto para o gerenciamento conveniente de grupos de configurações.As configurações contidas em um único arquivo são carregadas e salvas como uma unidade.Portanto, poder armazenar as configurações em arquivos separados para grupos usados com freqüência e pouco-usados pode economizar tempo em carregar e salvar as configurações.

Por exemplo, você pode adicionar um arquivo, como SpecialSettings.Settings ao seu projeto.Enquanto a classe SpecialSettings não seja exposta no My namespace, Exibir código pode ler o arquivo de configurações personalizadas que contenha Partial Class SpecialSettings.

O designer de configurações primeiro procura o arquivo Settings.Settings que cria o sistema do projeto; esse é o arquivo padrão que exibe o criador do projeto na guia Settings.Settings.Settings está localizado na pasta Meu projeto para projetos Visual Basic e na pasta Propriedades para projetos Visual C#.O criador do projeto, em seguida, procura por outros arquivos de configurações na pasta raiz do projeto.Portanto, você deve colocar seu arquivo de configurações personalizado lá.Se você adicionar um arquivo .Settings em qualquer lugar no seu projeto, o criador do projeto não poderá localizá-lo.

Acessar ou alterar configurações do aplicativo em tempo de execução em Visual Basic

Em projetos Visual Basic , você pode acessar as configurações do aplicativo no tempo de execução usando o objeto My.Settings.Na página Settings,clique no botão Exibir código para exibir o arquivo Settings.vb.Settings.vb define a classe Settings, que permite que você manipule esses eventos na classe de configurações: SettingChanging, PropertyChanged, SettingsLoaded e SettingsSaving.Observe que a classe Settings em Settings.vb é um classe parcial que exibe somente o código de propriedade do usuário, não a classe gerada toda.Para obter mais informações sobre como acessar configurações de aplicativos usando o objeto My.Settings, consulte Acessando as configurações do aplicativo (Visual Basic).

Os valores de qualquer configuração de escopo do usuário que o usuário altera em tempo de execução (por exemplo, a posição de um formulário) são armazenados em um arquivo User.config.Observe que os valores padrão ainda são salvos no app.config.

Se você tiver alterado quaisquer configurações de escopo do usuário durante tempo de execução, por exemplo no teste do aplicativo e deseja redefinir essas configurações para seus valores padrão, clique no botão Synchronize.

É altamente recomendável que você use o objeto My.Settings e o arquivo .Settings padrão para as configurações de acesso.Isso ocorre porque você pode usar o criador configurações para atribuir propriedades para Configurações, e, além disso, Configurações de Usuário são automaticamente salvas antes do desligamento do aplicativo.No entanto, seu aplicativo Visual Basic pode acessar as configurações diretamente.Nesse caso você precise acessar a classe MySettings e usar um arquivo personalizado .Settings na raiz do projeto.Você também deve salvar a Configurações de Usuário antes de encerrar o aplicativo, como você faria para um aplicativo C#; isso é descrito na seção a seguir.

Acessar ou alterar configurações do aplicativo em tempo de execução em Visual Basic

Em idiomas diferentes do Visual Basic, como Visual C#, você deve acessar o Settings classe diretamente, conforme mostrado no seguinte Visual C# exemplo.

Properties.Settings.Default.FirstUserSetting = "abc";

Você deve também explicitamente chamar o método Save esta classe wrapper para persistir as Configurações de Usuário.Geralmente isso é feito no manipulador de eventos Closing do formulário principal.O seguinte Visual C# exemplo mostra uma chamada para o Save método.

Properties.Settings.Default.Save();

Para obter um exemplo específico de como criar novas configurações do aplicativo e associá-las a propriedades em um formulário, consulte Como: criar configurações do aplicativo usando o Designer.Para obter informações mais gerais sobre como acessar configurações do aplicativo por meio da classe Settings,consulte Visão geral sobre configurações de aplicativo.

Consulte também

Conceitos

Acessando as configurações do aplicativo (Visual Basic)