修改外部.config而不使用<configuration>标记</configuration>

时间:2014-01-21 09:09:53

标签: c# .net app-config

我有app.config

<?xml version="1.0"?>
<configuration>
  <connectionStrings configSource="_config\ConnStr.config"/>
</configuration>

和ConnStr.config

<?xml version="1.0"?>
<connectionStrings>
  <add name="MyConnectionString"
      connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Test;User ID=sa;Password=password"
      providerName="System.Data.SqlClient" />
</connectionStrings>

当我使用ConfigurationManager.OpenMappedExeConfiguration

打开ConnStr.config时
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = filePath;
var config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, level);

它抛出异常:&#34; ConnStr.config没有root <configuration>标记&#34;

我无法在ConnStr.config中添加标记,因为如果我添加它,它将引发异常:&#34; configSource文件的格式必须是包含该部分名称的元素&#34 ;

那么,如何在没有<configuration>标签的情况下打开外部配置文件?

0 个答案:

没有答案