Eu fiz um projeto em C # .NET em que meu arquivo de banco de dados é uma pasta de trabalho do Excel. Como a localização da cadeia de conexão é codificada em minha codificação, não há problema em instalá-la no meu sistema, mas em outros sistemas existe.
Existe uma maneira de solicitar ao usuário que defina um caminho uma vez após a conclusão da instalação do aplicativo?
As respostas que obtive foram "Use App.Config" ... alguém pode dizer o que é esse App.config e como usá-lo no meu contexto aqui?
c#
.net
app-config
shyam
fonte
fonte
Respostas:
Na sua forma mais simples, o app.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.
As configurações podem ser definidas usando seções de configuração internas, como
connectionStrings
ouappSettings
. Você pode adicionar suas próprias seções de configuração personalizadas; este é um tópico avançado, mas muito poderoso para criar arquivos de configuração fortemente tipados.Os aplicativos da Web geralmente têm um web.config, enquanto os aplicativos de GUI / serviço do Windows têm um arquivo app.config.
Os arquivos de configuração no nível do aplicativo herdam as configurações dos arquivos de configuração global, por exemplo, o machine.config.
Lendo a partir do App.Config
As cadeias de conexão têm um esquema predefinido que você pode usar. Observe que esse pequeno trecho é na verdade um arquivo app.config (ou web.config) válido:
Depois de definir seu app.config, você pode lê-lo no código usando a classe ConfigurationManager . Não se deixe intimidar pelos exemplos detalhados do MSDN; é realmente muito simples.
Escrevendo no App.Config
A alteração frequente dos arquivos * .config geralmente não é uma boa ideia, mas parece que você deseja executar apenas uma configuração.
Consulte: Alterar a cadeia de conexão e recarregar app.config em tempo de execução, que descreve como atualizar o
connectionStrings
seção do arquivo * .config em tempo de execução.Observe que, idealmente, você executaria essas alterações de configuração a partir de um instalador simples.
Local do App.Config no tempo de execução
P : Suponha que eu altere manualmente algumas
<value>
no app.config, salve-o e feche-o. Agora, quando vou para a pasta bin e inicio o arquivo .exe a partir daqui, por que não reflete as alterações aplicadas?R : Quando você compila um aplicativo, seu app.config é copiado no diretório bin 1 com um nome que corresponde ao seu exe. Por exemplo, se o seu exe foi nomeado "test.exe", deve haver um "text.exe.config" no diretório bin. Você pode alterar a configuração sem recompilar, mas precisará editar o arquivo de configuração que foi criado no momento da compilação, não o app.config original.
1: Observe que os arquivos web.config não são movidos, mas permanecem no mesmo local no momento da compilação e implantação. Uma exceção a isso é quando um web.config é transformado .
.NET Core
Novas opções de configuração foram introduzidas com o .NET Core. A maneira como os arquivos * .config funcionam não parece ter mudado, mas os desenvolvedores podem escolher novos paradigmas de configuração mais flexíveis.
fonte
Simplesmente, App.config é um
XML
formato de arquivo baseado que contém as configurações no nível do aplicativo .Exemplo:
Você pode acessar as configurações usando
ConfigurationManager
como mostrado no trecho de código abaixo:Nota:
ConfigurationSettings
é um método obsoleto para recuperar informações de configuração.fonte
System.Configuration.dll
para usar as APIs mencionadas acima.System.Configuration.ConfigurationManager.AppSettings["Key"]
já é uma string, chamandoToString()
-a é redundante.Apenas para adicionar algo que estava faltando em todas as respostas - mesmo que pareça bobo e óbvio assim que você souber:
O arquivo deve ser nomeado "App.config" ou "app.config" e pode estar localizado no seu projeto no mesmo nível que, por exemplo, Program.cs.
Não sei se outros locais são possíveis, outros nomes (como application.conf, conforme sugerido na documentação do ODP.net) não funcionaram para mim.
PS. Comecei com o Visual Studio Code e criei um novo projeto com "dotnet new". Nenhum arquivo de configuração é criado neste caso, tenho certeza de que existem outros casos. PPS. Pode ser necessário adicionar um pacote nuget para poder ler o arquivo de configuração. No caso do .NET CORE, seria "dotnet add package System.Configuration.ConfigurationManager --version 4.5.0"
fonte
/resources
App.Config é um arquivo XML usado como arquivo de configuração para seu aplicativo. Em outras palavras, você armazena dentro dela qualquer configuração que queira alterar sem precisar alterar o código (e recompilar). É frequentemente usado para armazenar cadeias de conexão.
Veja este artigo do MSDN sobre como fazer isso.
fonte
Você pode acessar as chaves no App.Config usando:
Dê uma olhada neste tópico
fonte
Apenas adicionando mais um ponto
Usando app.config, de alguma forma, como você pode controlar o acesso ao aplicativo, você deseja aplicar alterações específicas a todo o aplicativo, usando o arquivo de configuração do aplicativo e pode acessar as configurações como abaixo ConfigurationSettings.AppSettings ["Key"]
fonte