Sou muito novo no .NET e ainda não entendi como funcionam os arquivos de configuração.
Sempre que procuro no Google sobre isso, obtenho resultados sobre web.config, mas estou escrevendo um aplicativo Windows Forms.
Eu descobri que preciso usar o namespace System.Configuration, mas a documentação não está ajudando.
Como posso definir que meu arquivo de configuração é XYZ.xml? Ou tem um nome "padrão" para o arquivo de configuração? Eu ainda não entendi.
Além disso, como faço para definir uma nova seção? Eu realmente preciso criar uma classe que herda de ConfigurationSection?
Eu gostaria de ter apenas um arquivo de configuração com alguns valores como este:
<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>
Existe uma maneira simples de fazer isso? Você pode explicar de uma maneira simples como ler e escrever de / para um arquivo de configuração simples?
fonte
Respostas:
Você deseja usar um App.Config.
Quando você adiciona um novo item a um projeto, há algo chamado arquivo de configuração de aplicativos. Adicione isso.
Em seguida, você adiciona chaves na seção de configuração / configurações de aplicativos
Gostar:
Acesse os membros fazendo
Isso funciona no .NET 2 e superior.
fonte
ConfigurationSettings
é obsoleto, useSystem.Configuration.ConfigurationManager.AppSettings["MyKey"];
.System.Configuration.ConfigurationManager
seu projeto precisa de uma referência aSystem.Configuration.dll
Esclarecimento das respostas anteriores ...
Adicione um novo arquivo ao seu projeto ( Adicionar → Novo Item → Arquivo de Configuração do Aplicativo )
O novo arquivo de configuração aparecerá no Solution Explorer como App.Config .
Adicione suas configurações a este arquivo usando o seguinte como modelo
Recupere-os assim:
Quando construída, sua pasta de saída conterá um arquivo chamado <assemblyname> .exe.config. Esta será uma cópia do arquivo App.Config . Nenhum trabalho adicional deve ser feito pelo desenvolvedor para criar este arquivo.
fonte
Com uma leitura rápida das respostas anteriores, elas parecem corretas, mas não parece que alguém mencionou os novos recursos de configuração do Visual Studio 2008. Ele ainda usa app.config (copiado no momento da compilação para YourAppName.exe.config), mas há um widget de IU para definir propriedades e especificar seus tipos. Clique duas vezes em Settings.settings em na pasta "Propriedades" do seu projeto.
A melhor parte é que o acesso a essa propriedade a partir do código é seguro para tipos - o compilador detectará erros óbvios, como digitar incorretamente o nome da propriedade. Por exemplo, uma propriedade chamada MyConnectionString em app.config seria acessada como:
fonte
Settings.Default.Test = "abc"; Settings.Default.Save();
Você deve criar um arquivo App.config (muito semelhante ao web.config ).
Você deve clicar com o botão direito no seu projeto, adicionar um novo item e escolher um novo "Arquivo de configuração do aplicativo" .
Certifique-se de adicionar usando System.Configuration em seu projeto.
Então você pode adicionar valores a ele:
Apenas uma observação: de acordo com a Microsoft , você deve usar o ConfigurationManager em vez de ConfigurationSettings (consulte a seção de comentários):
fonte
O nome padrão para um arquivo de configuração é [yourexe] .exe.config. Portanto, notepad.exe terá um arquivo de configuração denominado notepad.exe.config, na mesma pasta do programa. Este é um arquivo de configuração geral para todos os aspectos do CLR e do Framework, mas pode conter suas próprias configurações em um
<appSettings>
nó.O
<appSettings>
elemento cria uma coleção de pares nome-valor que podem ser acessados comoSystem.Configuration.ConfigurationSettings.AppSettings
. Entretanto, não há como salvar as alterações no arquivo de configuração.Também é possível adicionar seus próprios elementos personalizados a um arquivo de configuração - por exemplo, para definir uma configuração estruturada - criando uma classe que implementa
IConfigurationSectionHandler
e adicionando-a ao<configSections>
elemento do arquivo de configuração. Você pode acessá-lo chamandoConfigurationSettings.GetConfig
..NET 2.0 adiciona uma nova classe,
System.Configuration.ConfigurationManager
que oferece suporte a vários arquivos, com substituições por usuário de dados por sistema. Ele também suporta salvar configurações modificadas de volta aos arquivos de configurações.O Visual Studio cria um arquivo chamado
App.config
, que ele copia para a pasta EXE, com o nome correto, quando o projeto é construído.fonte
O melhor artigo (IMHO) sobre a configuração de aplicativos .NET está em CodeProject, Unraveling the Mysteries of .NET 2.0 Configuration . E meu próximo artigo favorito (mais curto) sobre seções nos arquivos de configuração .NET é Understanding Section Handlers - App.config File .
fonte
No Windows Forms, você tem o
app.config
arquivo, que é muito parecido com oweb.config
arquivo. Mas como vejo que você precisa de valores personalizados, sugiro o uso de Configurações .Para fazer isso, abra as propriedades do projeto e vá para as configurações. Se não existir um arquivo de configurações, você terá um link para criá-lo. Em seguida, você pode adicionar as configurações à tabela que vê lá, o que geraria o XML apropriado e uma classe Settings que pode ser usada para carregar e salvar as configurações.
A classe de configurações terá um nome semelhante a
DefaultNamespace.Properties.Settings
. Então, você pode usar um código semelhante a:fonte
Eu concordo com as outras respostas que apontam para app.config. No entanto, em vez de ler valores diretamente de app.config, você deve criar uma classe de utilitário (AppSettings é o nome que uso) para lê-los e expô-los como propriedades. A classe AppSettings pode ser usada para agregar configurações de vários armazenamentos, como valores de app.config e informações de versão do aplicativo do assembly (AssemblyVersion e AssemblyFileVersion).
fonte
Uma maneira muito simples de fazer isso é usar sua própria
Settings
classe personalizada .fonte
Usar:
AppSettings foi preterido e agora é considerado obsoleto ( link ).
Além disso, a seção appSettings do app.config foi substituída por applicationSettings seção .
Como outra pessoa mencionou, você deve usar System.Configuration.ConfigurationManager ( link ), que é novo para .NET 2.0.
fonte
Qual versão do .NET e Visual Studio você está usando?
Ao criar o novo projeto, você deve ter um arquivo em sua solução chamado app.config . Esse é o arquivo de configuração padrão.
fonte