Maneira mais simples de ter um arquivo de configuração em um aplicativo C # do Windows Forms

Sou muito novo no .NET e ainda não entendi como os arquivos de configuração funcionam.

Toda vez que eu pesquiso no google sobre isso, obtenho resultados sobre o web.config, mas estou escrevendo um aplicativo de formulários do windows.

Eu descobri que preciso usar o namespace System.Configuration, mas a documentação não está ajudando.

Como eu defino 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 isso.

Além disso, como eu defino uma nova seção, eu realmente preciso criar uma class que herda de ConfigurationSection?

Eu gostaria de ter apenas um arquivo de configuração com alguns valores como este:

1 C:\Some\Path\Here 

Existe uma maneira simples de fazer isso? Você pode explicar de maneira simples como ler e escrever de / para um simples arquivo de configuração?

Você quer usar um App.Config.

Quando você adiciona um novo item a um projeto, há algo chamado arquivo de configuração de aplicativos. Adicione isso.

Então você adiciona chaves na seção configuration / appsettings

Gostar:

    

Acesse os membros fazendo

 System.Configuration.ConfigurationSettings.AppSettings["MyKey"]; 

Isso funciona em .net 2 e acima.

Esclarecimento de respostas anteriores …

1) Adicione um novo arquivo ao seu projeto (Add-> New Item-> Application Configuration File)

2) O novo arquivo de configuração aparecerá no Solution Explorer como App.Config.

3) Adicione suas configurações neste arquivo usando o seguinte como modelo

         

4) Recupere-os assim:

 private void Form1_Load(object sender, EventArgs e) { string setting = ConfigurationManager.AppSettings["setting1"]; string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString; } 

5) Quando construída, sua pasta de saída conterá um arquivo chamado .exe.config Esta será uma cópia do arquivo App.Config. Nenhum trabalho adicional deve ser feito pelo desenvolvedor para criar este arquivo.

De uma rápida leitura das respostas anteriores, eles parecem corretos, mas não parece que alguém mencionou os novos resources de configuração no VS 2008. Ele ainda usa app.config (copiado em tempo de compilation para YourAppName.exe.config), mas Há um widget de interface do usuário para definir propriedades e especificar seus tipos. Clique duas vezes em Settings.settings na pasta “Propriedades” do seu projeto.

A melhor parte é que acessar esta propriedade a partir do código é typesafe – o compilador detectará erros óbvios, como digitar incorretamente o nome da propriedade. Por exemplo, uma propriedade chamada MyConnectionString no app.config seria acessada como:

 string s = Properties.Settings.Default.MyConnectionString; 

Você deve criar um arquivo App.config (muito semelhante ao web.config)

Você deve clicar com o botão direito do mouse no seu projeto, adicionar novo item, novo “Arquivo de Configuração do Aplicativo”.

Certifique-se de adicionar o System.Configuration ao seu projeto.

Então você pode adicionar valores a ele

 < ?xml version="1.0" encoding="utf-8" ?>         

  private void Form1_Load(object sender, EventArgs e) { string setting = ConfigurationManager.AppSettings["setting1"]; string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString; } 

Apenas uma nota, de acordo com a Microsoft , você deve usar o ConfigurationManager em vez de ConfigurationSettings. (veja a seção de comentários) “A class ConfigurationSettings fornece apenas compatibilidade reversa. Para novos aplicativos você deve usar a class ConfigurationManager ou a class WebConfigurationManager.”

O nome padrão para um arquivo de configuração é [yourexe] .exe.config. Então o notepad.exe terá um arquivo de configuração chamado 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 nó .

O elemento cria uma coleção de pares de nome-valor que podem ser acessados ​​como System.Configuration.ConfigurationSettings.AppSettings . Não há como salvar as alterações de volta 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 class que implemente o IConfigurationSectionHandler e o adicione ao elemento do arquivo de configuração. Você pode acessá-lo chamando ConfigurationSettings.GetConfig .

O .NET 2.0 adiciona uma nova class, System.Configuration.ConfigurationManager , que suporta vários arquivos, com substituições por usuário de dados por sistema. Também suporta salvar configurações modificadas de volta aos arquivos de configurações.

Visual Studio cria um arquivo chamado App.config , que ele copia para a pasta EXE, com o nome correto, quando o projeto é criado.

O melhor artigo (IMHO) sobre configuração de aplicativos .NET está no CodeProject Unraveling the Mysteries of .NET 2.0 Configuration . E meu próximo artigo favorito (mais curto) sobre seções em arquivos de configuração .net é Entendendo Manipuladores de Seção – Arquivo App.config .

Nos formulários do Windows, você tem um app.config , que é muito semelhante ao web.config . Mas como vejo que você precisa de valores personalizados, sugiro usar Configurações. Para fazer isso, abra as propriedades do seu projeto e vá para as configurações. Se um arquivo de configurações não existir, você terá um link para criar um. Em seguida, você pode adicionar as configurações à tabela exibida, o que geraria o XML apropriado e uma class Settings que pode ser usada para carregar e salvar as configurações. A class de configurações será nomeada como algo como DefaultNamespace.Properties.Settings . Então, você pode usar código semelhante a:

 using DefaultNamespace.Properties; namespace DefaultNamespace { class Class { public int LoadMySettingValue() { return Settings.Default.MySettingValue; } public void SaveMySettingValue(int value) { Settings.Default.MySettingValue = value; } } } 

Eu concordo com as outras respostas que apontam para app.config. No entanto, em vez de ler valores diretamente do app.config, você deve criar uma class de utilitário (AppSettings é o nome que eu uso) para lê-los e expô-los como propriedades. A class AppSettings pode ser usada para agregar configurações de várias lojas, como valores de app.config e informações de versão do aplicativo do assembly (AssemblyVersion e AssemblyFileVersion).

Uma maneira muito simples de fazer isso é usar sua própria class de Settings personalizada .

System.Configuration.ConfigurationSettings.AppSettings [“MyKey”];

O AppSettings foi descontinuado e agora é considerado obsoleto. [ link ]

Além disso, a seção appSettings do app.config foi substituída pela seção applicationSettings.

Como alguém mencionou, você deve estar usando o System.Configuration.ConfigurationManager [ link ] que é novo para o .Net 2.0

Qual versão do .Net e VS você está usando?

Quando você criou o novo projeto, você deve ter um arquivo em sua solução chamado app.config, que é o arquivo de configuração padrão.