Não consigo acessar valores no arquivo de configuração.
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var clientsFilePath = config.AppSettings.Settings["ClientsFilePath"].Value;
// the second line gets a NullReferenceException
arquivo .config :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- ... -->
<add key="ClientsFilePath" value="filepath"/>
<!-- ... -->
</appSettings>
</configuration>
Você tem alguma sugestão do que devo fazer?
System.Configuration
.System.Configuration
não temConfigurationManager
A resposta que dtsg deu obras:
MAS, você precisa adicionar uma referência de montagem a
Vá para o seu Solution Explorer e clique direito em References e selecione Add Reference . Selecione a guia Assemblies e procure por Configuration .
Aqui está um exemplo do meu App.config :
Que você pode obter da seguinte maneira:
fonte
System.configuration
(em minúsculas).Experimente:
fonte
Read From Config:
Você precisará adicionar uma referência ao Config
Salvar na configuração:
fonte
null
sequência com as recomendações acima, masProperties.Settings.Default.<keyName>
funcionou como um encanto!Estou usando:
Onde valor1 = ... e valor3 = ... fornece nulo e valor2 = ... funciona
Decidi substituir o app.config interno por:
Usando o VS2012 .net 4
fonte
No
app/web.config
arquivo, defina a seguinte configuração:então você pode acessar isso no seu código colocando esta linha:
* Observe que este trabalho é bom para
.net4.5.x
e.net4.6.x
; mas não trabalha para.net core
. Atenciosamente: Rafaelfonte
Voltando a este depois de muito tempo ...
Dado o fim do ConfigurationManager, para quem ainda procura uma resposta para esta tentativa (por exemplo):
Requer System.Configuration of course.
(Editou o código para algo que realmente funciona e é mais simples de ler)
fonte
Veja, eu fiz o que achei que era óbvio:
Enquanto isso compila, sempre retorna nulo.
No entanto (acima) funciona:
fonte
Algumas das respostas parecem um pouco fora da OMI. Aqui está minha opinião por volta de 2016
Verifique se
System.Configuration
está referenciado.A pergunta está pedindo o valor de uma chave appsettings
O que certamente deve ser
Aqui está uma reviravolta na qual você pode agrupar valores (não para esta pergunta)
emails
será o valor da chave do ambiente + "_Emails"fonte
Para aplicativos da web, normalmente escrevo esse método e chamo apenas com a tecla
fonte
Você pode simplesmente digitar:
porque
key
é um objeto eAppSettings
pega uma stringfonte
fonte
Ou você pode usar
fonte
Meu teste simples também falhou, seguindo o conselho das outras respostas aqui - até que eu percebi que o arquivo de configuração que adicionei ao meu aplicativo de desktop recebeu o nome "App1.config". Eu mudei o nome para "App.config" e tudo imediatamente funcionou como deveria.
fonte
O CÓDIGO SERÁ GERADO AUTOMATICAMENTE
Para obter um valor
Properties.Settings.Default.Name
OU
Properties.Settings.Default ["name"]
fonte