我创建了一个控制台应用程序和一个 app.config 文件和 Connections.config 文件。app.config 文件有一个指向 Connections.config 的连接字符串属性源
当我尝试读取应用程序中的连接字符串时,我得到一个ConfigurationErrorException
这是我的主要方法。
static void Main(string[] args)
{
var settings = ConfigurationManager.ConnectionStrings;
if (settings != null)
{
foreach (ConnectionStringSettings setting in settings)
{
Console.WriteLine(setting.ConnectionString);
}
}
}
App.config 文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings configSource="Connections.config"></connectionStrings>
</configuration>
Connections.config 文件
<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
<add name="SQLDBConnecion"
providerName="System.Data.ProviderName"
connectionString="" />
</connectionStrings>
在这里,我观察到两件事。首先:如果我指定 configSource 我无法读取连接字符串(抛出异常。)
第二:如果我在 App.config 文件中放入相同的连接字符串并尝试读取,那么代码正在工作,但得到两个连接字符串(应该只返回一个空字符串)第一个连接字符串是这样的 sqlexpress 连接字符串
data source=.\SQLEXPRESS;Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true
它返回的第二个连接字符串是空字符串(这是预期的)。
我想像在我的场景中那样从外部文件中读取连接字符串。怎么做?我在这里想念什么?