配置系统无法初始化,外部配置文件



我对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>
  1. 不要使用文件属性,请使用ConfigSource-因为文件仅适用于AppSettings。这也是AppSettings:ConfigSource是完整的替换(无合并)
  2. configsource必须参考与配置文件中同一目录或子目录中的文件。

asp.net web.config:configsource vs.文件属性

最新更新