1.为啥读不到Config文件数据?.net版本与读取方法
程序配置文件和应用程序同名,后缀为.config,C#有两种读取config的方法:
.net2.0 以前用ConfigurationManager操作:
Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(fileName);
String value = config.AppSettings.Settings["key_name"].value
.net2.0以后用PROJECT_NAMESPACE.Properties.Settings.default.PROP_NAME读取,其中PROJECT_NAMESPACE为项目的namespace,PROP_NAME为属性名
读取方法选择错误不会报错,但是读取的内容为空;
2.为啥不能将数据保存到config文件?保存方法
config中的属性有“应用程序”和“用户”两种属性类型,“用户”属性相当于cookies,不同的用户初始化时从.config文件加载数据,然后保存到用户的AppData中,如:C:\Users\acer\AppData\Local\Lottery\Lottery.exe_Url_kcjzebvmb0mspy4q1wgmnochgqrihqfz\1.0.0.0\user.config,原来应用程序目录的config文件并不会被修改。
调用PROJECT_NAMESPACE.Properties.Settings.default.save()只将“用户”类型的属性值保存到AppData相关文件中,而“应用程序”类型不保存,但是也不会报错。
3.如果要修改config文件内容怎么办?用xml文件读取类
doc = new System.Xml.XmlDocument();
doc.Load(configFileName);
System.Xml.XmlNode configNode = doc.SelectSingleNode(configString);
string value = configNode.InnerText;
4.为啥显示“MySqlConnection 内容初始值设定异常”?配置文件读取引起的错误
程序配置文件和应用程序同名,后缀为.config,C#有两种读取config的方法:
.net2.0 以前用ConfigurationManager操作:
Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(fileName);
String value = config.AppSettings.Settings["key_name"].value
.net2.0以后用PROJECT_NAMESPACE.Properties.Settings.default.PROP_NAME读取,其中PROJECT_NAMESPACE为项目的namespace,PROP_NAME为属性名
读取方法选择错误不会报错,但是读取的内容为空;
2.为啥不能将数据保存到config文件?保存方法
config中的属性有“应用程序”和“用户”两种属性类型,“用户”属性相当于cookies,不同的用户初始化时从.config文件加载数据,然后保存到用户的AppData中,如:C:\Users\acer\AppData\Local\Lottery\Lottery.exe_Url_kcjzebvmb0mspy4q1wgmnochgqrihqfz\1.0.0.0\user.config,原来应用程序目录的config文件并不会被修改。
调用PROJECT_NAMESPACE.Properties.Settings.default.save()只将“用户”类型的属性值保存到AppData相关文件中,而“应用程序”类型不保存,但是也不会报错。
3.如果要修改config文件内容怎么办?用xml文件读取类
doc = new System.Xml.XmlDocument();
doc.Load(configFileName);
System.Xml.XmlNode configNode = doc.SelectSingleNode(configString);
string value = configNode.InnerText;
4.为啥显示“MySqlConnection 内容初始值设定异常”?配置文件读取引起的错误
MySqlConnection会读取用户config文件,如果调试过程修改了.config文件内容并保存到AppData,如果当前用新的config文件格式读取config数据,就会导致“内容初始值设定异常”。这样会间接导致MySqlConnection抛出“内容初始值设定异常”。
处理方法:首先清理然后重新生成项目;删除AppData下面的用户配置文件(路径在调试报错信息目录里面可以找到);