Partilhar via


Gerenciar configurações do 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 tempo de execução. As configurações do aplicativo podem incluir cadeias de conexão, preferências do usuário e muito mais.

Observação

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 através da propriedade Name.

As configurações do aplicativo podem ser armazenadas como qualquer tipo de dados serializado para XML ou com um TypeConverter que implementa 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 tê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 vinculadas a uma propriedade de um formulário ou controle em tempo de design.

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

  • Configurações de 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 estão associados ao aplicativo. Portanto, os usuários não podem alterá-los em tempo de execução.

  • Configurações de escopo do usuário podem ser usadas para informações, como guardar a última posição de um formulário ou uma preferência de 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 de projeto 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 de aplicativo

  • 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 de usuário

As alterações nas configurações do usuário não são gravadas no disco, a menos que o aplicativo chame especificamente um método para fazê-lo.

Criar configurações da aplicação em tempo de desenvolvimento

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

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

  • Use a janela Propriedades para um formulário ou controle, que permite vincular uma configuração a uma propriedade.

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

Quando cria uma configuração com escopo de utilizador (por exemplo, fonte padrão, página inicial ou tamanho da janela), o Visual Studio salva-a num arquivo app.config com a tag <userSettings>.

Importante

Ao armazenar cadeias de conexão no 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 fonte externa, como um usuário que fornece seu ID de usuário e senha, certifique-se de que os valores usados para construir sua cadeia de conexão não contenham parâmetros adicionais de cadeia de conexão que alterem o comportamento da sua conexão.

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

Observação

Como não há um modelo de arquivo de configuração para bibliotecas de classes, as configurações do aplicativo não se aplicam a projetos de Biblioteca de Classes. A exceção é um projeto Visual Studio Tools for Office Runtime DLL, 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 um 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 freqüência e pouco usados pode economizar tempo no carregamento e salvamento de configurações.

Por exemplo, pode adicionar um ficheiro SpecialSettings.settings ao seu projeto. Embora sua classe SpecialSettings não esteja exposta no namespace My, View Code pode ler o arquivo de configurações personalizadas que contém Partial Class SpecialSettings.

O Settings Designer primeiro procura o ficheiro Settings.settings que o sistema de projetos cria. Esse arquivo de Settings.settings é o arquivo padrão que o Project Designer exibe na guia Configurações do. O arquivo Settings.settings está localizado na pasta My Project para projetos Visual Basic e na pasta Properties para projetos Visual C#. O Project Designer então procura outros arquivos de configurações na pasta raiz do projeto. Portanto, você deve colocar seu arquivo de configurações personalizadas lá. Se adicionar um ficheiro .settings noutra localização do seu projeto, o Project Designer não conseguirá localizá-lo.

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

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

A classe Settings no 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 Access application settings (.NET Framework).

Os valores de quaisquer configurações 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 de user.config. Os valores padrão ainda são salvos no app.config.

Se alguma configuração de escopo do usuário for alterada durante o tempo de execução, por exemplo, no teste do 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 .settings padrão para acessar as configurações. Você pode usar o do Designer de Configurações do para atribuir propriedades às configurações e, também, as configurações do usuário são salvas automaticamente antes do encerramento do aplicativo. No entanto, seu aplicativo Visual Basic pode acessar as configurações diretamente. Nesse caso, tem de aceder à classe MySettings e usar um arquivo personalizado de .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 tempo de execução 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. Você geralmente faz isso no manipulador de eventos Closing do formulário principal. O exemplo 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 as configurações do aplicativo. Para saber mais sobre como converter arquivos app.config em appsettings.json, consulte Modernizar após atualizar para o .NET a partir do .NET Framework.