C# 如何将connectionString从一个配置文件附加到另一个配置文件
我正在尝试将连接字符串从C:\test2\web.config复制到C:\test1\app.config。在web.config中,connectionString元素如下所示。这两个配置文件不属于我的项目。C# 如何将connectionString从一个配置文件附加到另一个配置文件,c#,C#,我正在尝试将连接字符串从C:\test2\web.config复制到C:\test1\app.config。在web.config中,connectionString元素如下所示。这两个配置文件不属于我的项目。 ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap(); fileMap.ExeConfigFilename = @"c:\test1\app.config"; Configuration config = C
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = @"c:\test1\app.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
ExeConfigurationFileMap fileMapWeb = new ExeConfigurationFileMap();
fileMapWeb.ExeConfigFilename = @"C:\test2\web.config";
Configuration configWeb = ConfigurationManager.OpenMappedExeConfiguration(fileMapWeb, ConfigurationUserLevel.None);
var connectionStringsWeb = (ConnectionStringsSection)configWeb.GetSection("connectionStrings");
//here I got connectionString element in connectionStringsWeb from web.config file. But how to append this connectionString element to app.config file.
提前感谢。您可以通过代码访问配置文件
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = @"c:\test1\app.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
ExeConfigurationFileMap fileMapWeb = new ExeConfigurationFileMap();
fileMapWeb.ExeConfigFilename = @"C:\test2\web.config";
Configuration configWeb = ConfigurationManager.OpenMappedExeConfiguration(fileMapWeb, ConfigurationUserLevel.None);
var connectionStringsWeb = (ConnectionStringsSection)configWeb.GetSection("connectionStrings");
//here I got connectionString element in connectionStringsWeb from web.config file. But how to append this connectionString element to app.config file.
msdn示例
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = @"c:\test1\app.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
ExeConfigurationFileMap fileMapWeb = new ExeConfigurationFileMap();
fileMapWeb.ExeConfigFilename = @"C:\test2\web.config";
Configuration configWeb = ConfigurationManager.OpenMappedExeConfiguration(fileMapWeb, ConfigurationUserLevel.None);
var connectionStringsWeb = (ConnectionStringsSection)configWeb.GetSection("connectionStrings");
//here I got connectionString element in connectionStringsWeb from web.config file. But how to append this connectionString element to app.config file.
// Add a connection string to the connection
// strings section and store it in the
// configuration file.
static void AddConnectionStrings()
{
// Get the count of the connection strings.
int connStrCnt =
ConfigurationManager.ConnectionStrings.Count;
// Define the string name.
string csName = "ConnStr" +
connStrCnt.ToString();
// Get the configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Add the connection string.
ConnectionStringsSection csSection =
config.ConnectionStrings;
csSection.ConnectionStrings.Add(
new ConnectionStringSettings(csName,
"LocalSqlServer: data source=127.0.0.1;Integrated Security=SSPI;" +
"Initial Catalog=aspnetdb", "System.Data.SqlClient"));
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified);
Console.WriteLine("Connection string added.");
}
来源:您也可以使用FileReader或XML reader。只是一个想法。
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = @"c:\test1\app.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
ExeConfigurationFileMap fileMapWeb = new ExeConfigurationFileMap();
fileMapWeb.ExeConfigFilename = @"C:\test2\web.config";
Configuration configWeb = ConfigurationManager.OpenMappedExeConfiguration(fileMapWeb, ConfigurationUserLevel.None);
var connectionStringsWeb = (ConnectionStringsSection)configWeb.GetSection("connectionStrings");
//here I got connectionString element in connectionStringsWeb from web.config file. But how to append this connectionString element to app.config file.