Csharp/C#教程:由于其保护级别,ConfigurationProperty无法访问分享


由于其保护级别,ConfigurationProperty无法访问

我想在程序中读/写(并保存)应用程序的配置文件

app.config是这样的:

  
...

当我使用ConfigurationManager.GetSection读取app.config时,它可以工作:

 var adwords_section = (System.Collections.Hashtable) System.Configuration.ConfigurationManager.GetSection("AdWordsApi"); Console.WriteLine((string)adwords_section["LogPath"]); 

但是当我使用ConfigurationManager.OpenExeConfiguration时

 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); ConfigurationSection section = config.GetSection("AdWordsApi"); Console.WriteLine(section["LogPath"]); 

我总是得到这个错误:

由于其保护级别,’System.Configuration.ConfigurationElement.this [System.Configuration.ConfigurationProperty]’无法访问

但据我所知, GetSection无法在程序运行时保存配置,就像我在开头说的那样:我想在程序运行时保存配置,所以我必须使用OpenExeConfiguration

我已经google了很长时间,我发现使用AppSettings,但我使用的是自定义部分..

任何人都可以解释为什么会出现“ConfigurationProperty无法访问”错误? 谢谢

编辑:

我已将SystemSystem.Configuration的 copy local设置为true

你可以使用这篇文章 。

编辑:

你可以使用配置:

   

这段代码:

  var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); var settings = config.GetSection("AdWordsApi.appSettings") as AppSettingsSection; if (settings != null) Console.Write(settings.Settings["LogPath"].Value); Console.ReadLine(); 

您也可以使用这篇文章 。

 string key_value = refconfig.AppSettings.Settings["key_name"].Value; 

我不确定它是否适用于您尝试的操作,但您是否尝试过使用ConfigurationUserLevel.None?

上述就是C#学习教程:由于其保护级别,ConfigurationProperty无法访问分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1006378.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐