IT Share you

App.config의 connectionStrings configSource가 작동하지 않습니다.

shareyou 2021. 1. 10. 19:19
반응형

App.config의 connectionStrings configSource가 작동하지 않습니다.


내 연결 문자열을 내에서 분리하려고하는데 App.config와 같은 변환을 할 수 없기 Web.config때문에 configSource속성을 사용 하여 연결 문자열이있는 다른 구성 파일을 가리킬 수 있다고 생각 했지만 그렇지 않은 것 같습니다. 일하고 있습니다.

이것은 작동합니다 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>

그러나 이것은 그렇지 않습니다 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>

가장 간단한 솔루션을 찾고 있습니다.

어떤 아이디어?


파일을 직접 추가 한 경우 빌드 작업 (파일 속성에서)이 올바르게 설정되지 않았을 수 있습니다.

Copy to Output Directory옵션은 Copy if newer또는 파일이 디렉토리 Copy Always에 있는지 확인해야합니다 . 그렇지 않으면 .config파일이 bin존재하지 않으며 구성로드 시도가 실패합니다.


I had the same issue and Oded solution works for me. But I will just precise that to find out how to change the file "Copy to Output Directory option" to be "copy if newer or copy always", you have to

  • rigth click on the file
  • select properties
  • go to advance
  • then will see copy to output directory and choise copy if newer or copy always

This helped me, I hope it will help you too

ReferenceURL : https://stackoverflow.com/questions/14873126/connectionstrings-configsource-in-app-config-not-working

반응형