要从App.config文件中读取ConnectionString而不使用ConfigurationManager,可以使用Configuration类。下面是一个示例代码:
using System.Configuration;
public class Program
{
public static void Main()
{
// 获取App.config文件的路径
string configFilePath = System.AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
// 创建一个ExeConfigurationFileMap对象,指定要读取的配置文件路径
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap
{
ExeConfigFilename = configFilePath
};
// 使用OpenMappedExeConfiguration方法打开指定的配置文件
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
// 获取指定的连接字符串
ConnectionStringSettings connectionStringSettings = config.ConnectionStrings.ConnectionStrings["MyConnectionString"];
string connectionString = connectionStringSettings.ConnectionString;
// 使用连接字符串进行操作
// ...
// 关闭配置文件
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.Name);
}
}
在上面的示例中,首先获取App.config文件的路径,然后使用ExeConfigurationFileMap类创建一个映射,指定要读取的配置文件路径。然后使用OpenMappedExeConfiguration方法打开配置文件,再使用Configuration类获取指定的连接字符串。
注意:在使用此方法时,需要添加对System.Configuration的引用。