为什么我的ConnectionsStringCollection比app.config中的connection-Strings部分有更多的条目?

时间:2009-11-02 13:14:49

标签: c# app-config

在我的C#-WinForms-application(.Net 3.5,VS2008)中,我使用以下方式阅读App.Config:

Configuration myConfig = 
  ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

App.config在connectionStrings-Section中包含两个连接字符串:

<connectionStrings>
    <add name="db1" connectionString="connection1"
     providerName="System.Data.SqlClient"/>
    <add name="db2" connectionString="connection2"
      providerName="System.Data.SqlClient" />
</connectionStrings>

(连接字符串因可读性而被删除)

但是当我遍历ConnectionStringsCollection时,我发现它有三个条目,而不是预期的两个。附加入口指向本地SqlExpress-Server上名为“aspnetdb.mdf”的数据库。我不记得在任何地方添加它,我在项目文件中找不到它作为文字值。通过调试器观察集合,我发现 my 连接字符串将 app.config 作为源。附加字符串有 null 作为源,所以我认为.net从某处汇总了它。

如何摆脱此条目,或者如何告诉配置管理器仅使用app.config中的连接字符串?

2 个答案:

答案 0 :(得分:6)

您检查过machine.config吗?

(在[{1}}中找到64位使用%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\CONFIG。)

答案 1 :(得分:2)

aspnetdb.mdf来自默认连接字符串集合,通过添加

删除它
<clear />

到你元素的顶部。