2011-06-16 1 views
9

Dans ma demande lorsque je tente d'obtenir la chaîne de connexion en utilisant ce code:Configuration du système Échec de l'initialisation

System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString; 

Il lance une exception « Configuration du système Échec de l'initialisation ». Où est le format de app.config incorrect?

<?xml version="1.0"?> 
    <configuration> 


     <connectionStrings> 
     <add name="ConStr" connectionString="Integrated Security=false;Persist Security Info=False;User ID=funny;password=veryfunny;Initial Catalog=vegimanager;Data Source=.\sqlexpress;"/> 
     </connectionStrings> 



     <configSections> 
     <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <section name="Vegi_Manager.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> 
     </sectionGroup> 
     </configSections> 




     <userSettings> 
     <Vegi_Manager.Properties.Settings> 
      <setting name="FIRMNAME" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMADDRESS" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMCITY" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMSTATE" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMPHONE" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMMOBILE" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMEMAIL" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMTIN" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMPAN" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMMANDITAXNO" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="INITIALFONFIGDONE" serializeAs="String"> 
      <value>False</value> 
      </setting> 
      <setting name="FIRMJURISDICTION" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMBANKDETAILS" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="FIRMDETAILS" serializeAs="String"> 
      <value/> 
      </setting> 
      <setting name="BILLFORMATNO" serializeAs="String"> 
      <value>0</value> 
      </setting> 
      <setting name="PRINTERNAME" serializeAs="String"> 
      <value/> 
      </setting> 
     </Vegi_Manager.Properties.Settings> 
     </userSettings> 



     <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
     </startup> 
    </configuration> 
+0

Il manque l'étiquette d'ouverture "" à votre échantillon, mais peut-être n'a-t-il pas été copié? –

+0

Oui, il n'a tout simplement pas été copié. –

Répondre

24

Essayez de mettre l'configSections comme le premier élément enfant de configuration, parce configSections devrait être le premier élément de configurations

donc votre fichier de configuration va se présenter comme suit:

<configuration> 

    <configSections> 
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     <section name="Vegi_Manager.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> 
    </sectionGroup> 
    </configSections> 

    <connectionStrings> 
    <add name="ConStr" connectionString="Integrated Security=false;Persist Security Info=False;User ID=funny;password=veryfunny;Initial Catalog=vegimanager;Data Source=.\sqlexpress;"/> 
    </connectionStrings> 

    <userSettings> 
    <Vegi_Manager.Properties.Settings> 
     <setting name="FIRMNAME" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMADDRESS" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMCITY" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMSTATE" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMPHONE" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMMOBILE" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMEMAIL" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMTIN" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMPAN" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMMANDITAXNO" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="INITIALFONFIGDONE" serializeAs="String"> 
     <value>False</value> 
     </setting> 
     <setting name="FIRMJURISDICTION" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMBANKDETAILS" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="FIRMDETAILS" serializeAs="String"> 
     <value/> 
     </setting> 
     <setting name="BILLFORMATNO" serializeAs="String"> 
     <value>0</value> 
     </setting> 
     <setting name="PRINTERNAME" serializeAs="String"> 
     <value/> 
     </setting> 
    </Vegi_Manager.Properties.Settings> 
    </userSettings> 

    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
</configuration> 
+0

Fonctionne comme un couteau chaud dans le beurre! –

+0

:) Je suis heureux que je pourrais aider .. – Sumit

+0

2 ans plus tard et votre solution fonctionne toujours. Merci! – andrewb

1

C'est un peu en retard je sais, mais quand je supprime cela:

<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /> 
</startup> 

alors l'erreur disparaît.

+1

Vous devez avoir configSections comme premier enfant "Si l'élément configSections est dans un fichier de configuration, l'élément configSections doit être le premier élément enfant de l'élément de configuration.". Si vous déplacez cet élément de configuration, cela fonctionnera. – Thomas

0

Cela fonctionne pour moi. Assurez-vous que votre app.config ou web.config commence par la balise <configSections> dans l'onglet <configuration> par exemple

<configSections> 
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/> 
    </configSections> 
    <connectionStrings> 
<add name="ConStr" connectionString="Integrated Security=false;Persist Security Info=False;User ID=funny;password=veryfunny;Initial Catalog=vegimanager;Data Source=.\sqlexpress;"/> 
     </connectionStrings> 
    <connectionStrings> 

après assurez-vous que la propriété cadre cible de votre projet n'est pas le profil client

Questions connexes