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

时间:2019-03-21 08:39:24

标签: c# .net config

我对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:\config\conStr.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 个答案:

答案 0 :(得分:2)

  1. 不要使用文件属性,请使用configSource-因为文件仅适用于appSettings。对于appSettings:ConfigSource也可以完全替换(不合并)
  2. configSource必须引用与配置文件相同目录或子目录中的文件。

ASP.NET web.config: configSource vs. file attributes