wake-up-neo.com

connectionStrings configSource in App.config funktioniert nicht

Ich versuche, meine Verbindungszeichenfolge von meinem App.config Zu trennen, und da Sie Transformationen wie mit Web.config Nicht ausführen können, dachte ich, ich könnte das configSource -Attribut für verwenden zeigen Sie auf eine andere Konfigurationsdatei mit der Verbindungszeichenfolge in, aber es scheint nicht zu funktionieren.

Das funktioniert, App.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=*snip*" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
  <connectionStrings>
    <add name="DefaultConnection"
      providerName="System.Data.SqlClient"
      connectionString="Server=*snip*" />
  </connectionStrings>
</configuration>

Dies ist jedoch nicht der Fall, App.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=*snip*" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
  <connectionStrings configSource="connections.config" />      
</configuration>

connections.config:

<connectionStrings>
    <add name="DefaultConnection"
      providerName="System.Data.SqlClient"
      connectionString="*snip*" />
</connectionStrings>

Ich suche die einfachsten Lösungen.

Irgendwelche Ideen?

54
Adam K Dean

Wenn Sie die Datei selbst hinzugefügt haben, wurde die Erstellungsaktion (in den Dateieigenschaften) möglicherweise nicht richtig festgelegt.

Die Option Copy to Output Directory Muss Copy if newer Oder Copy Always Sein, um sicherzustellen, dass die Datei .config Im Verzeichnis bin landet nicht da sein und versuchen, die Konfiguration zu laden, wird fehlschlagen.

127
Oded

Ich hatte das gleiche Problem und Oded-Lösung funktioniert für mich. Aber genau das werde ich tun, um herauszufinden, wie man die Option "In Ausgabeverzeichnis kopieren" in "Wenn neu oder Immer kopieren" ändern muss

  • klicken Sie mit der rechten Maustaste auf die Datei
  • eigenschaften auswählen
  • gehe voran
  • anschließend wird "In Ausgabeverzeichnis kopieren" angezeigt, und Sie können "Kopieren" auswählen, wenn dies neuer ist, oder "Immer kopieren"

Das hat mir geholfen, ich hoffe es wird dir auch helfen

3
onlyme