Pergunta

Em meu aplicativo winform, eu estou tentando adicionar um userSetting, embora o erro está ocorrendo com appSettings também. Quando a configuração é adicionado Recebo uma exceção jogada que diz: "O sistema de configuração falhou ao inicializar" com uma exceção interna "não reconhecido seção de configuração userSetting"

Exceção detalhes:

System.Configuration.ConfigurationErrorsException was unhandled
  Message="Configuration system failed to initialize"
  Source="System.Configuration"
  BareMessage="Configuration system failed to initialize"
  Line=0
  StackTrace:
       at System.Configuration.ConfigurationManager.PrepareConfigSystem()
       at System.Configuration.ConfigurationManager.RefreshSection(String sectionName)
       at System.Configuration.ClientSettingsStore.ReadSettings(String sectionName, Boolean isUserScoped)
       at System.Configuration.LocalFileSettingsProvider.GetPropertyValues(SettingsContext context, SettingsPropertyCollection properties)
       at System.Configuration.SettingsBase.GetPropertiesFromProvider(SettingsProvider provider)
       at System.Configuration.SettingsBase.GetPropertyValueByName(String propertyName)
       at System.Configuration.SettingsBase.get_Item(String propertyName)
       at System.Configuration.ApplicationSettingsBase.GetPropertyValue(String propertyName)
       at System.Configuration.ApplicationSettingsBase.get_Item(String propertyName)
       at Settings.get_ApplicationData() in \Properties\Settings.Designer.cs:line 41
       at Common.Initialize.IsSettingsInitialized() 
       at SurveyClient.Program.Main() 
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.Configuration.ConfigurationErrorsException
       Message="Unrecognized configuration section userSettings.
       Source="System.Configuration"
       BareMessage="Unrecognized configuration section userSettings."
       Line=3
       StackTrace:
            at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
            at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
            at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
            at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(Object sender, InternalConfigEventArgs e)
       InnerException: 
Foi útil?

Solução

Tente verificar que o app.config (myapp.exe.config uma vez implantado) o arquivo existe e tem no topo (possivelmente com outros bits)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings"
    type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
</sectionGroup>

Outras dicas

Eu tive algumas configurações do usuário, em seguida, removido todos eles e comecei a ver esta exceção - mas apenas ao executar o aplicativo sem depuração. Funcionou muito bem ao depurar o aplicativo. A razão é que em nível de usuário configurações são "cache" na pasta Application Data local, e na verdade não são lidos a partir do MYAPP.exe.config. Então o que eu fiz foi ir para C: \ Users \ myusername \ AppData \ Local MyCompany \ MYAPP.exe_Url_longnastyhash9982749827349879 \ 1.0.0.0 \ user.config (isto é em Win7, o caminho depende OS) e removeu essa pasta \ (com a hash longo) completamente. A exceção foi embora. BTW, dependendo de como suas configurações são configurados neste arquivo user.config pode estar sob \ AppData \ Local ou \ AppData \ Roaming.

Eu recebo este erro quando eu escrever o meu App.Config (estupidamente) como abaixo.

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

<!--List of XMLFiles Begins -->
    <add key="ConfigFileEnvironment" value="C:\Program Files\MyProduct\Config\Environment.xml" />
<!--List of XMLFiles Ends -->

</configuration>

Note, que não há appSettings? Eu costumava fazer esse erro regularmente ...

Eu comecei a ver esta mensagem quando eu removi todos os UserSettings. Eu era capaz de corrigi-lo adicionando uma única volta userSetting nos arquivos de configurações.

Solução Limpa Exclua todos os arquivos definições actualmente existentes, bem como app.config Fechar VS ir manualmente e limpar a pasta bin e a pasta obj do seu projeto Reiniciar PC Re-adicionar o "Application Configuration File"

Eu tinha um este problema hoje e descobri que eu tinha acidentalmente (para não mencionar erroneamente) acrescentou uma segunda seção de configuração personalizada para o meu app. Uma vez eu removi a adição errante, eu era capaz de continuar a executar meu aplicativo sem problemas.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="ABCConfig" type="ABC.Configuration.ABCConfigurationSection, ABC"/>
    <!-- Other custom section definitions -->
  </configSections>
  <connectionStrings>
      <!-- Connection strings go here -->
  </connectionStrings>

  <!-- Configure ABC -->
  <ABCConfig CustomA="blah" CustomB="stuff" />

  <!-- Other custom sections -->

  <!-- Errant addition to Configure ABC which causes the problem - SHOULD NOT BE HERE -->
  <ABCConfig CustomA="blah" CustomB="stuff" />

</configuration>

Retirar a segunda seção ABCConfig resolveu o meu problema. Espero que isso ajude!

Provavelmente, o problema é que seu arquivo de configuração não está de acordo com o seu esquema. Por exemplo, este problema pode ser recriado por duplicação da seção ConnectionStrings.

Eu tive algum lixo na minha machine.config que estava causando esse erro. Olhe para o rastreamento de pilha de exceção e veja se você tem o mesmo problema. Foi XML essencialmente malformado.

Eu tive esse problema porque eu mudei um escopo configuração do aplicativo (de 'aplicação' para o usuário "). Como eu não poderia encontrar uma solução para resolver o meu problema, eu decidi apagar o arquivo de configurações para o explorador solução. Depois disso, eu abri as propriedades, no separador 'Definições', eu cliquei em que foi proposta a criação do arquivo de configurações. E um novo arquivo de configurações foi criada com os valores que eu definidos para o arquivo de configurações anterior. I reconstruída meu projeto e funcionou bem.

A tag de inicialização fez o truque para mim no VS Pro 2013 versão 12.021005.1 com .Net 4.5.51650 para aplicação console (arquivo ou seja app.config)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
 <connectionStrings>
 ...
</connectionStrings>
</configuration>

Apenas postagem aqui como eu encontrei a minha correção para o problema, mas não vê-lo aqui .... Eu adicionei uma tag appSettings sob o nó de configuração principal e quando eu corri eu tenho o mesmo erro como OP. O fixo foi certificando-se as configSections nó precedido meu nó appSettings. enter descrição da imagem aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top