config配置的写入问题

西霸阿超 2013-12-26 03:51:26
大家好!

这个是我写的写入配置文件的方法没有一个是生效了
ConfigurationManager.AppSettings.Set("currentpage", textBox1.Text);
//ConfigurationManager.AppSettings.Set("pagesize", textBox2.Text);
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["pagesize"].Value = textBox2.Text;
config.Save(ConfigurationSaveMode.Modified);
this.Close();

ConfigurationManager.AppSettings.Set("currentpage", textBox1.Text);//这句话我不知道是怎么回事,执行后,你可以获取到,但是你打开app.config和vshost.exe.Config 都没有写入

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["pagesize"].Value = textBox2.Text;
config.Save(ConfigurationSaveMode.Modified);
这个方法写入到vshost.exe.Config里去了,但是获取不到。
这两个问题真心不知道出错在哪里,网上都说第二个方法才是写入配置文件的,但是我没有成功写入。请指教!

...验证码能不能弄看的清楚的啊。发个贴好难啊
...全文
196 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiyun0112 2013-12-26
  • 打赏
  • 举报
回复
ConfigurationManager.RefreshSection("AppSettings");
西霸阿超 2013-12-26
  • 打赏
  • 举报
回复
错了错了我们都错了,我用的winfrom 我的程序给我一共生成了三个config文件 一个是App.config 一个是程序名.exe.Config 一个是程序名.exe.vshost.exe.config System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings["pagesize"].Value = textBox2.Text; config.Save(ConfigurationSaveMode.Modified); this.Close(); 这个方法是操作第二个config的.读取也是第二个config.为什么我没有读取到呢,我每次都是调试.每次都给我覆盖掉了.......... 失败
BenBenBears 2013-12-26
  • 打赏
  • 举报
回复
引用 8 楼 u013037529 的回复:
string appPath = System.Environment.CurrentDirectory; string configFile = System.IO.Path.Combine(appPath, "App.config"); ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap(); configFileMap.ExeConfigFilename = configFile; System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None); config.AppSettings.Settings["pagesize"].Value = textBox2.Text; config.Save(); 这样是可以写入,但是textBox2.Text = ConfigurationManager.AppSettings["pagesize"];这句话有问题吗,我写入了但是读不出来
textBox2.Text = ConfigurationManager.AppSettings["pagesize"].Value
西霸阿超 2013-12-26
  • 打赏
  • 举报
回复
string appPath = System.Environment.CurrentDirectory; string configFile = System.IO.Path.Combine(appPath, "App.config"); ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap(); configFileMap.ExeConfigFilename = configFile; System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None); config.AppSettings.Settings["pagesize"].Value = textBox2.Text; config.Save(); 这样是可以写入,但是textBox2.Text = ConfigurationManager.AppSettings["pagesize"];这句话有问题吗,我写入了但是读不出来
痒痒挠儿 2013-12-26
  • 打赏
  • 举报
回复
你搜索user.config文件试试,包括隐藏文件一起搜索,你操作的配置文件应该是这个
feiyun0112 2013-12-26
  • 打赏
  • 举报
回复
string appPath = System.IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly().Location);
string configFile = System.IO.Path.Combine(appPath, "App.config");
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = configFile;
System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);

config.AppSettings.Settings["pagesize"].Value = textBox2.Text;

config.Save();

*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
西霸阿超 2013-12-26
  • 打赏
  • 举报
回复
不知道,我的是win7。配置文件是用vs建立的
痒痒挠儿 2013-12-26
  • 打赏
  • 举报
回复
你的配置文件是不是用户级别的?用户级别的配置文件是存放在c盘的,xp的路径是C:\Documents and Settings\Administrator\Local Settings\Application Data
maxy 2013-12-26
  • 打赏
  • 举报
回复
求大神指点。。。
maxy 2013-12-26
  • 打赏
  • 举报
回复
求一个解决方案啊
maxy 2013-12-26
  • 打赏
  • 举报
回复
这问题我也遇到了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧