Eu sou novo no Visual Studio. Atualmente, estou criando um formulário de login.
Eu tenho esse código.
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
try
{
using (OdbcConnection connect = new OdbcConnection(connectionString))
{
connect.Open();
OdbcCommand cmd = new OdbcCommand("SELECT username, password FROM receptionist", connect);
OdbcDataReader reader = cmd.ExecuteReader();
if (username_login.Text == username && password_login.Text == password)
{
this.Hide();
MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
}
else
MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
connect.Close();
}
}
catch (OdbcException ex)
{
MessageBox.Show(ex.Message, "error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Mas sempre que tento digitar o nome de usuário e a senha, ocorre um erro chamado Sistema de configuração que não foi inicializado . Só estou me perguntando que tipo de problema é esse e como eu poderia resolver isso?
Por favor ajude.
Respostas:
Certifique-se de que seu arquivo de configuração (web.config se web ou app.config se windows) em seu projeto seja iniciado como:
Observe que dentro do
configuration
elemento, o primeiro filho deve ser oconfigSections
elemento.Na
name
propriedade nosection
elemento, certifique-se de substituirYourProjectName
pelo nome do seu projeto real.Ocorreu-me que eu criei um serviço da web em um projeto de biblioteca de classes, copiei (substitui) o arquivo de configuração (para trazer a configuração dos pontos de extremidade) para meu aplicativo do Windows e comecei a ter o mesmo problema. Eu removi inadvertidamente
configSections
.funcionou para mim, espero que ajude
fonte
configSections
elemento existia, mas localizou parte posterior do app.config. Não posso deixar de perguntar por que esse erro aconteceu. Eu pensei que elementos XML não precisam ser pedidos.Exclua os arquivos de configuração antigos de c: \ Users \ nome de usuário \ AppData \ Local \ appname e c: \ Users \ nome do usuário \ AppData \ Roaming \ AppName e tente reiniciar o aplicativo.
fonte
Às vezes, o erro ocorre porque uma janela cria uma duplicata no diretório
Apenas exclua esta pasta e pronto. tente.
fonte
Se você adicionou suas próprias seções de configuração personalizada à sua
App.Config
, verifique se definiu a seção no<configSections>
elemento Eu adicionei o XML da minha configuração, mas esqueci de declarar a seção de configuração no topo - o que causou a exceção "O sistema de configuração falhou ao inicializar" para mim.fonte
Eu tive o mesmo problema com uma classe MSTest: Marlon Grech em seu artigo diz "o elemento precisa ser definido como o primeiro elemento no App.config".
Portanto, verifique se esse é o primeiro elemento abaixo do elemento. Eu coloquei o AppSettings em primeiro lugar.
fonte
Sei que isso já foi respondido, mas tive exatamente o mesmo problema em meus testes de unidade. Eu estava arrancando os cabelos - adicionando uma seção appSettings e depois declarando a seção de configuração conforme a resposta. Finalmente descobri que já havia declarado uma seção appSettings no meu arquivo de configuração. Ambas as seções apontaram para o meu arquivo de configurações externas "appSettings.config", mas o primeiro elemento appSettings usando o arquivo de atributo, enquanto a outra usou o atributo configSource . Eu sei que a pergunta era sobre o connectionStrings. Com certeza, isso acontece se o elemento appSettings for o elemento connectionStrings que está sendo duplicado com atributos diferentes.
Felizmente, isso pode fornecer a outra pessoa a solução antes que ela siga o caminho que fiz, o que leva a perder uma ou duas horas. suspiro oh a vida de nós desenvolvedores. Perdemos mais horas alguns dias em depuração do que gastamos desenvolvendo!
fonte
appSettings
eapplicationSettings
ambos.Comecei a ter esse problema após desinstalar o Oracle Client Drivers e ele removeu meu C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ machine.config !
Copiá-lo de outro computador resolveu o problema.
fonte
fonte
Se você tiver configurações de escopo do usuário, também poderá ter um arquivo user.config em algum lugar da
[Userfolder]\AppData\Local\[ProjectName]
pasta.Se você remover posteriormente as configurações do escopo do usuário, o user.config não será removido automaticamente e sua presença poderá causar a mesma mensagem de erro. A exclusão da pasta fez o truque para mim.
fonte
Uau, levei uma eternidade para descobrir este. Por alguma razão, alterar o atributo
[assembly: AssemblyCompany("CompanyName")]
emAssemblyInfo.cs
fez esse erro desaparecer. Eu estava referenciando um projeto que tinha um valor diferente para o atributo[assembly: AssemblyCompany("CompanyName")]
. Eu verifiquei se os dois projetos tinham o mesmo valor de atributo e funcionou muito bem!fonte
Mesmo problema comigo, resolvi o problema removendo verion = "v3.5" do App.config.
Antes
Solução
Aqui está como usar a versão em
Elemento de tempo de execução do suporte do MSDN
fonte
Após uma longa pesquisa, percebi que essa exceção possui uma exceção interna que informa exatamente o que há de errado com seu arquivo de configuração
fonte
Vale a pena notar que, se você adicionar coisas como cadeias de conexão no app.config, se você adicionar itens fora das seções de configuração definidas, ele não reclamará imediatamente, mas quando você tentar acessá-lo, poderá obter os erros acima.
Recolha todas as seções principais e verifique se não há itens fora dos definidos. Óbvio, quando você realmente o viu.
fonte
No meu caso, a única solução foi adicionar a referência ao
System.Configuration
no meu projeto de teste também.fonte
Isso é meio idiota, mas para mim eu o corrigi, obtendo as últimas informações do controle de origem no meu código. Eu acho que havia algum novo elemento de configuração que foi adicionado por outra pessoa, e eu precisava sobrescrever meus arquivos de configuração. O OP mostra o erro que eu recebi, o que não estava realmente me apontando na direção certa.
fonte
Eu também enfrentei o mesmo problema, mas acidentalmente escrevi o sem escrever o, o anterior deve ir dentro dessas tags. portanto, o erro 'O sistema de configuração falhou ao inicializar' estava surgindo. Espero que ajude
fonte
No meu caso, tenho duas configurações no arquivo app.config. Depois de excluir o que está oculto nas linhas de código, o aplicativo funciona bem.
Portanto, para alguém com o mesmo problema, verifique se você tem configurações duplicadas primeiro.
fonte
Se você estiver lidando com um Azure WebJob - tive que remover o seguinte após atualizar para o 4.6.1 mais recente.
Espero que isto ajude.
fonte
No meu caso, no meu arquivo .edmx, executei o comando 'Atualizar modelo do banco de dados'. Este comando adicionou uma cadeia de conexão desnecessária ao meu arquivo app.config. Eu apaguei essa cadeia de conexão e tudo ficou bom novamente.
fonte
Resolvi o problema usando o código abaixo
fonte
Tente salvar o arquivo .config como utf-8 se você tiver alguns caracteres "especiais". Esse foi o problema no meu caso de um aplicativo de console.
fonte
Como o @Flash Gordon mencionado em seu comentário, você precisará definir qualquer tag personalizada (como uma seção) no seu arquivo App.config , em
<configSections>
. Por exemplo, você está trabalhando em um projeto de automação de teste com SpecFlow e adicionando<specFlow>
tags, então uma versão mais simples do App.config ficará assim:fonte
Acabei de ter isso e foi porque eu tinha um
<configuration>
elemento aninhado dentro de um<configuration>
elemento.fonte
Eu reiniciei o Visual studio e até mesmo o PC inteiro. Limpei o projeto, reconstruí e excluí o arquivo bin.
Nada ajudou até eu alterar a configuração de x64 para x86. Funcionou em x86, mas quando eu mudei de volta, também funcionou!
fonte
Eu tentei todas as soluções acima tentando descobrir por que um dos meus testes de unidade estava falhando ao pegar a configuração de um arquivo app.config que é perfeito.
Eu tinha duas referências à mesma montagem da seguinte forma:
A remoção da referência (duplicada) em amarelo a corrigiu.
Espero que isso funcione para outra pessoa, isso me deixou louco por um tempo.
fonte
Solução fácil para projetos de .Net Core WinForms / WPF / .Net Standard Class Library
etapa 1: instalar
System.Configuration.ConfigurationManager
pelo Nuget Manageretapa 2: adicionar um novo
App.Config
arquivoEtapa 3: obter o valor
Se você estiver chamando a partir de um
Class Library
, adicione oApp.Config
arquivo no seu Projeto Principal.fonte
Se você possui uma seção personalizada, é necessário mencionar que em configSections logo abaixo da tag de configurações.
Verifique seus arquivos de transformação, remova as tags desnecessárias. Somente a seção que variará precisa estar presente nos arquivos de transformação. não mencione a seção de configuração nos arquivos de transformação, se não for necessário. isso também causaria o problema.
Se você tiver algum erro de sintaxe em machine.config, também será esperado esse erro.
fonte