我对app.config文件有问题。当配置文件位于EXE文件旁边时,它可以完美工作。
但是,当我将外部配置文件放在另一个网络驱动器上时,它会抛出"配置系统无法初始化"错误。
我应该如何链接到应用程序配置的外部配置文件以使其工作?
这是代码:
Program.cs
static void Main(string[] args)
{
var conn = ConfigurationManager.ConnectionStrings["conn"];
Console.WriteLine("ConnStr01={0}", conn);
Console.Read();
}
App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<connectionStrings configSource="U:configconStr.config">
</connectionStrings>
</configuration>
conStr.config
<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
<add name="conn"
connectionString="Data Source={server};Initial Catalog={database};Persist Security Info=True;User ID={username};Password={password}"
providerName="System.Data.SqlClient"/>
</connectionStrings>
- 不要使用文件属性,请使用ConfigSource-因为文件仅适用于AppSettings。这也是AppSettings:ConfigSource是完整的替换(无合并)
- configsource必须参考与配置文件中同一目录或子目录中的文件。
asp.net web.config:configsource vs.文件属性