O que é App.configuração C#.NET como usá-lo?

Fiz um projecto em C#.NET onde meu arquivo de banco de dados é um manual do Excel. Uma vez que a localização da corda de conexão é codificada hard no meu código, não há problema para instalá-lo no meu sistema, mas para outros sistemas há.

Existe uma forma de pedir ao utilizador para definir um caminho uma vez terminada a configuração da aplicação?

As respostas que obtive foram "Use App".Configuracao"... qualquer um pode dizer o que é este aplicativo.config e como usá-lo no meu contexto aqui?

Author: bluish, 2012-10-24

5 answers

Na sua forma mais simples, a aplicação.config é um arquivo XML com muitas seções de configuração predefinidas disponíveis e suporte para seções de configuração personalizadas. Uma "seção de configuração" é um trecho de XML com um esquema destinado a armazenar algum tipo de informação.

A configuração pode ser configurada utilizando secções de configuração incorporadas, tais como connectionStrings ou appSettings. Você pode adicionar o seu próprio secções de configuração personalizadas; este é um tópico avançado, mas muito poderoso para criar ficheiros de configuração fortemente tipados.

As aplicações Web normalmente têm uma web.configuração, enquanto as aplicações GUI / serviço do Windows têm uma aplicação.ficheiro de configuração.

Os ficheiros de configuração do nível da aplicação herdam as configurações dos ficheiros de configuração global, por exemplo, a máquina.configuracao.

A ler da aplicação.Config

As cadeias de ligação têm um esquema predefinido que pode usar. Note que este pequeno o excerto é na verdade uma aplicação válida.config(ou web.ficheiro de configuração:

<?xml version="1.0"?>
<configuration>
    <connectionStrings>   
        <add name="MyKey" 
             connectionString="Data Source=localhost;Initial Catalog=ABC;"
             providerName="System.Data.SqlClient"/>
    </connectionStrings>
</configuration>
Depois de ter definido a aplicação.config, você pode lê-lo em código usando a classe ConfigurationManager . Não se deixe intimidar pelos verbos exemplos MSDN; na verdade é muito simples.
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
A escrever para a aplicação.Config

Alterando frequentemente o *.arquivos de configuração geralmente não é uma boa idéia, mas parece que você só quer realizar uma configuração única.

Ver: mudar a ligação string & reload app.configuração no tempo de execução que descreve como actualizar a secção connectionStrings da *.ficheiro de configuração à hora de execução.

Note que, idealmente, você realizaria tais alterações de configuração a partir de um instalador simples.

Localização da aplicação.Configuração ao executar

Q: suponha que eu mude manualmente algum <value> na aplicação.config, guarda-o e depois fecha-o. Agora, quando eu for à minha pasta do lixo e lançar o .ficheiro exe a partir daqui, porque não reflecte a aplicação mudanças?

A : quando compila uma aplicação, a sua aplicação.a configuração é copiada para a pasta bin1 com um nome que combina com o teu exe. Por exemplo, se o teu exe foi nomeado "teste"."exe", deve haver um "texto".exe.config " no seu directório. Pode alterar a configuração sem uma recompilação, mas terá de editar o ficheiro de configuração que foi criado na altura da compilação, não a aplicação original.configuracao.

1: repare na teia.os ficheiros de configuração não são movidos, mas em vez disso, fique no mesmo local no tempo de compilação e implantação. Uma exceção a isso é quando uma web.a configuração é transformada .

Núcleo da rede

Foram introduzidas novas opções de configuração com o núcleo.net. Da maneira que ... arquivos de configuração funciona não parece ter mudado, mas os desenvolvedores são livres para escolher novos paradigmas de configuração mais flexíveis.

 144
Author: Tim Medora, 2017-05-23 12:10:26

Simplesmente, App.Configuração é um formato de ficheiro baseado em XML que contém as configurações do nível de Aplicação.

Exemplo:

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="key" value="test" />
  </appSettings>
</configuration>

Pode aceder às configurações usando ConfigurationManager como indicado no excerto de código abaixo:

var value = System.Configuration.ConfigurationManager.AppSettings["key"];
// value is now "test"

Nota: ConfigurationSettings é um método obsoleto para obter informações de configuração.

var value = System.Configuration.ConfigurationSettings.AppSettings["key"];
 27
Author: Furqan Safdar, 2018-02-23 11:27:51

App.Config é um arquivo XML que é usado como um arquivo de configuração para sua aplicação. Em outras palavras, você armazena dentro dele qualquer configuração que você pode querer mudar sem ter que alterar o código (e recompilar). É muitas vezes usado para armazenar cadeias de conexão.

Ver este artigo MSDN sobre como fazer isso: http://msdn.microsoft.com/en-us/library/ms254494(v=vs 80).aspx

 2
Author: System Down, 2012-10-24 05:40:21

Pode aceder às chaves na aplicação .Configuração Usando:

ConfigurationSettings.AppSettings["KeyName"]
Olha para este tópico.
 0
Author: CloudyMarble, 2017-04-13 12:40:33

Só para acrescentar algo que estava a faltar em todas as respostas-mesmo que pareça estúpido e óbvio assim que souberes:

O ficheiro tem de se chamar "App.config " ou " app.config " e pode ser localizado em seu projeto no mesmo nível que, por exemplo, Programa.cs.

Não sei se outros locais são possíveis, outros nomes (como aplicação.conf, como sugerido no ODP.net documentação) não funcionou para mim.

PS. Comecei com o Visual Studio Code e criei um novo project with "dotnet new". Nenhum arquivo de configuração é criado neste caso, tenho certeza de que existem outros casos. PPS. Você pode precisar adicionar um pacote nuget para ser capaz de ler o arquivo de configuração, no caso do núcleo.net seria "dotnet adicionar sistema de pacotes.Configuracao.ConfigurationManager -- version 4.5.0 "

 0
Author: Dantel35, 2018-09-07 09:23:48