App.config中的connectionStrings configSource无法正常工作

时间:2013-02-14 10:51:36

标签: c# .net visual-studio-2012 connection-string

我正在尝试将我的连接字符串与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>

我正在寻找最简单的解决方案。

有什么想法吗?

2 个答案:

答案 0 :(得分:127)

如果您自己添加了文件,则可能未正确设置构建操作(在文件属性中)。

Copy to Output Directory选项必须为Copy if newerCopy Always,以确保.config文件最终位于bin目录中,否则将不会在那里尝试加载配置将失败。

答案 1 :(得分:3)

我有同样的问题,Oded解决方案适合我。但我会精确地找出如何更改文件&#34;复制到输出目录选项&#34;如果更新或复制总是&#34;,你必须

  • rigth点击文件
  • 选择属性
  • 前进
  • 然后会看到复制到输出目录,如果更新或复制总是
  • ,则选择复制

这对我有所帮助,我希望它也能帮助你