C# 读取App.Config 文件
我在程序中修改了配置文件中的内容,然后再去读取配置文件的内容。读取出来的内容还是修改之前的内容 --------------------编程问答-------------------- 重新编译后试试看,默认读取debug下的app.config。 --------------------编程问答-------------------- 那说明你上次没有保存,或者保存失败,看下代码 --------------------编程问答-------------------- 试试ConfigurationManager.RefreshSection方法 --------------------编程问答-------------------- <connectionStrings><add name="conn" connectionString="server=.;uid=sa;pwd=123;database=Test"/>
</connectionStrings>
这是在config里面写的代码
//获取配置文件中的字符串
private static string connString = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString; --------------------编程问答-------------------- 修改之后记得保存 --------------------编程问答-------------------- 配置文件的修改我使用的修改XML文件的方法。在程序中修改之后,在文件中我也看到是修改过了的,但是在程序中去调取显示的方法,还是显示修改之前的值。 --------------------编程问答-------------------- 应该是没有编译吧 --------------------编程问答-------------------- 不知道楼主开发的是哪类的应用程序,如果是用clickonce部署的应用程序(比如wpf),修改配置文件以后,需要用mage工具重新签名,否则程序清单manifest是不更新的(或者出现检测hash值不匹配等错误)。
--------------------编程问答--------------------
--------------------编程问答-------------------- string key = ConfigurationManager.AppSettings["Key"].Trim();
//一般情况下,我是这么操作的:
string mkmc = ConfigurationManager.AppSettings["Main"];
//写在 Config文件里的是这样:
<appSettings>
<add key="Main" value="Win_Cammer_Web.exe" />
</appSettings>
常用的话,封装个函数,要不有点长,能省点代码,就省点。。 --------------------编程问答-------------------- app.config文件在程序运行之初就加载了,所以在程序中的修改需要在下次运行中才能体现出来。 --------------------编程问答-------------------- 参考 --------------------编程问答-------------------- // Show how to use OpenExeConfiguration(ConfigurationUserLevel)
// and RefreshSection.
static void UpdateAppSettings()
{
// Get the configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Add an entry to appSettings.
int appStgCnt =
ConfigurationManager.AppSettings.Count;
string newKey = "NewKey" + appStgCnt.ToString();
string newValue = DateTime.Now.ToLongDateString() + " " +
DateTime.Now.ToLongTimeString();
config.AppSettings.Settings.Add(newKey, newValue);
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified);
// Force a reload of the changed section.
ConfigurationManager.RefreshSection("appSettings");
} --------------------编程问答--------------------
大侠,请问为什么我默认读取了和bin文件同一层中的app。config --------------------编程问答-------------------- 重新编译工程! --------------------编程问答--------------------
右击项目属性,点生成,有个输出路径,里面是你的调试路径 --------------------编程问答-------------------- 没保存啊。 --------------------编程问答--------------------
重新编译后试试看,默认读取debug下的app.config。
大侠,请问为什么我默认读取了和bin文件同一层中的app。config
右击项目属性,点生成,有个输出路径,里面是你的调试路径
额,好吧,我用了一个application.startuppaht
补充:.NET技术 , C#