Compartilhar via


Gerenciar configurações de aplicativo (.NET)

As configurações do aplicativo permitem que você armazene informações do aplicativo dinamicamente. Com as configurações do aplicativo, você pode usar um computador cliente para armazenar informações que não devem ser incluídas no código do aplicativo em runtime. As configurações do aplicativo podem incluir cadeias de conexão, preferências do usuário e muito mais.

Nota

As configurações do aplicativo substituem as propriedades dinâmicas usadas em versões anteriores do Visual Studio.

Cada configuração de aplicativo deve ter um nome exclusivo. O nome pode ser qualquer combinação de letras, números ou um sublinhado. O nome não pode começar com um número e não pode ter espaços. O nome é alterado por meio da propriedade Name.

As configurações do aplicativo podem ser armazenadas como qualquer tipo de dados serializado para XML ou que tenha um TypeConverter que implemente ToString/FromString. Os tipos mais comuns são String, Integere Boolean. Você também pode armazenar valores como Color, Objectou como uma cadeia de conexão.

As 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 projeto.

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

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

  • As configurações no escopo do usuário podem ser usadas para informações, como persistir a última posição de um formulário ou uma preferência de fonte. Os usuários podem alterar esses valores em runtime.

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

O sistema de projetos armazena as 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

  • Um arquivo user.config, que é criado em runtime quando o usuário que executa o aplicativo altera o valor de qualquer configuração de usuário

As alterações nas configurações do usuário não são gravadas em disco, a menos que o aplicativo chame especificamente um método para fazer isso.

Criar configurações de aplicativo no tempo de design

Em tempo de design, você pode criar configurações de aplicativo de duas maneiras:

  • Use a página Configurações do Designer de Projeto.

  • Use a janela Propriedades 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 aos recursos do servidor), o Visual Studio a salva no arquivo app.config com a marca <applicationSettings>. As cadeias de conexão são salvas com a tag <connectionStrings>.

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

Importante

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

Se você pegar informações de cadeia de conexão de uma origem externa, como um usuário que fornece sua ID de usuário e senha, verifique se os valores usados para construir sua cadeia de conexão não contêm parâmetros de cadeia de conexão adicionais que alteram o comportamento da conexão.

Considere usar o recurso Configuração Protegida para criptografar informações confidenciais no arquivo de configuração. Para obter mais informações, confira Proteger informações de conexão.

Nota

Como não há um modelo de arquivo de configuração para bibliotecas de classes, as configurações de aplicativo não se aplicam a projetos da Biblioteca de Classes. A exceção é um projeto de DLL do Visual Studio Tools for Office Runtime, que pode ter um arquivo de configuração.

Usar arquivos de configurações personalizados

Você pode adicionar arquivos de configurações personalizados ao seu projeto para gerenciamento conveniente de grupos de configurações. As configurações contidas em um único arquivo são carregadas e salvas como uma unidade. Armazenar configurações em arquivos separados para grupos usados com frequência e usados com pouca frequência pode economizar tempo em configurações de carregamento e salvamento.

Por exemplo, você pode adicionar um arquivo SpecialSettings.settings ao seu projeto. Embora a classe SpecialSettings não seja exposta no namespace My, Exibir Código pode ler o arquivo de configurações personalizadas que contém Partial Class SpecialSettings.

Primeiro, o Designer de Configurações pesquisa o arquivo Settings.settings que o sistema do projeto cria. Esse arquivo Settings.settings é o arquivo padrão que o Designer de Projeto exibe na guia Configurações. O arquivo Settings.settings está localizado na pasta Meu Projeto para projetos do Visual Basic e na pasta Propriedades para projetos do Visual C#. O designer de projeto , em seguida, pesquisa outros arquivos de configurações na pasta raiz do projeto. Portanto, você deve colocar o arquivo de configurações personalizadas lá. Se você adicionar um arquivo .settings em outro lugar do projeto, o do Designer de Projeto do não poderá localizá-lo.

Acessar ou alterar as configurações do aplicativo em runtime no Visual Basic

Em projetos do Visual Basic, você pode acessar as configurações do aplicativo em runtime usando o objeto My.Settings. Na página Configurações, selecione o botão Exibir código para ver o arquivo Settings.vb. Settings.vb define a classe Settings, que permite que você lide com esses eventos na classe de configurações:

A classe Settings em Settings.vb é uma classe parcial que exibe apenas o código de propriedade do usuário, não toda a classe gerada. Para obter mais informações sobre como acessar as configurações do aplicativo usando o objeto My.Settings, consulte as configurações de aplicativo do Access (.NET Framework).

Os valores de qualquer configuração no escopo do usuário que o usuário altera no runtime, por exemplo, a posição de um formulário, são armazenados em um arquivo user.config. Os valores padrão ainda são salvos em app.config.

Se as configurações com escopo do usuário forem alteradas durante a execução, por exemplo, ao testar o aplicativo, e você quiser redefinir essas configurações para seus valores padrão, selecione o botão Sincronizar.

Recomendamos que você use o objeto My.Settings e o arquivo de configurações padrão .settings para acessar as configurações. Você pode usar o designer de configurações para atribuir propriedades às configurações e, também, as configurações do usuário são salvas automaticamente antes do desligamento do aplicativo. No entanto, seu aplicativo do Visual Basic pode acessar as configurações diretamente. Nesse caso, você precisa acessar a classe MySettings e usar um arquivo personalizado .settings na raiz do projeto. Você deve salvar as configurações do usuário antes de encerrar o aplicativo, como faria para um aplicativo C#, conforme descrito na seção a seguir.

Acessar ou alterar as configurações do aplicativo em runtime em C#

Em linguagens diferentes do Visual Basic, como C#, você deve acessar a classe Settings diretamente, conforme mostrado no exemplo do Visual C# a seguir.

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

Você deve chamar explicitamente o método Save dessa classe wrapper para persistir as configurações do usuário. Normalmente, você faz isso no manipulador de eventos Closing do formulário principal. O exemplo de C# a seguir mostra uma chamada para o método Save.

Properties.Settings.Default.Save();

Para obter informações gerais sobre como acessar as configurações do aplicativo por meio da classe Settings, consulte visão geral das configurações do aplicativo (.NET Framework).

Migrando aplicativos do .NET Framework para o .NET

O .NET Framework usa o arquivo app.config para carregar configurações para seu aplicativo, como cadeias de conexão e configuração do provedor de log. O .NET moderno usa o arquivo appsettings.json para configurações de aplicativo. Para saber mais sobre como converter arquivos app.config em appsettings.json, consulte Modernizar após a atualização para o .NET do .NET Framework.