配置某些计算机程序的初始设置的文件。
存在与从单独的配置文件和其他类似文件读取设置有关的问题,但我的问题特定于应用程序属性设置(即 存在与 从单独的配置文件读取设置和其他类似问题有关的问题,但我的问题特定于应用程序属性设置(即 <MyApplication.Properties.Settings> - 请参阅下面的 XML 文件)以及如何动态加载它们。我尝试了这篇文章中的方法,其中涉及刷新主配置文件的整个appSettings部分,但我的改编引发了异常,因为我没有替换appSettings部分: var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); // Have tried the other ConfigurationUserLevels to no avail config.AppSettings.File = myRuntimeConfigFilePath; config.Save(ConfigurationSaveMode.Modified); // throws ConfigurationErrorsException ConfigurationManager.RefreshSection("userSettings"); ConfigurationErrorsException.Message 是“根元素必须与引用文件‘appSettings’的部分的名称匹配(C:\myFile.xml 第 2 行)。”该文件是: <?xml version="1.0" encoding="utf-8"?> <configuration> <userSettings> <MyApplication.Properties.Settings> <setting name="SineWaveFrequency" serializeAs="String"> <value>6</value> </setting> <setting name="SineWaveAmplitude" serializeAs="String"> <value>6</value> </setting> </MyApplication.Properties.Settings> </userSettings> </configuration> 有没有办法将此文件中的值导入到 MyApplication.Properties.Settings.Default 类中,并让框架处理所有 XML 反序列化,就像在应用程序启动时加载配置文件时那样? 嗯,这有效: using System; using System.Configuration; using System.IO; using System.Linq; using System.Xml.Linq; using System.Xml.XPath; public static class SettingsIO { internal static void Import(string settingsFilePath) { if (!File.Exists(settingsFilePath)) { throw new FileNotFoundException(); } var appSettings = Properties.Settings.Default; try { var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); string appSettingsXmlName = Properties.Settings.Default.Context["GroupName"].ToString(); // returns "MyApplication.Properties.Settings"; // Open settings file as XML var import = XDocument.Load(settingsFilePath); // Get the whole XML inside the settings node var settings = import.XPathSelectElements("//" + appSettingsXmlName); config.GetSectionGroup("userSettings") .Sections[appSettingsXmlName] .SectionInformation .SetRawXml(settings.Single().ToString()); config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("userSettings"); appSettings.Reload(); } catch (Exception) // Should make this more specific { // Could not import settings. appSettings.Reload(); // from last set saved, not defaults } } internal static void Export(string settingsFilePath) { Properties.Settings.Default.Save(); var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); config.SaveAs(settingsFilePath); } } 导出方法创建如下文件: <?xml version="1.0" encoding="utf-8"?> <configuration> <userSettings> <MyApplication.Properties.Settings> <setting name="SineWaveFrequency" serializeAs="String"> <value>1</value> </setting> <setting name="SineWaveAmplitude" serializeAs="String"> <value>100</value> </setting> <setting name="AdcShift" serializeAs="String"> <value>8</value> </setting> <setting name="ControlBitsCheckedIndices" serializeAs="String"> <value>0,1,2,3,5,6,7,8</value> </setting> <setting name="UpgradeSettings" serializeAs="String"> <value>False</value> </setting> </MyApplication.Properties.Settings> </userSettings> </configuration> 导入方法解析该文件,获取 节点内的所有内容,将该 XML 放入 user.config 文件的适当部分,然后重新加载 Properties.Settings.Default 以从新的 user.config 中获取这些值文件。 Pat建议的解决方案: // Get the whole XML inside the settings node var settings = import.XPathSelectElements("//" + appSettingsXmlName); 返回null。我把它改成了 var settings = import.Element("configuration").Element("userSettings").Element(appSettingsXmlName); config.GetSectionGroup("userSettings") .Sections[appSettingsXmlName] .SectionInformation .SetRawXml(settings.ToString()); 而且效果非常好。
有一个应用程序的jar文件,在执行jar文件期间需要执行2个不同的外部配置文件,因为应用程序的后端代码需要一些属性...
自上周以来,我遇到了以下问题 - 应用程序服务重新启动,但无法启动并出现以下错误:InvalidDataException:无法从文件“C:\h...”加载配置
刚刚注意到,在 CLI 上执行时 PHP 会抛出警告: php 模块已经加载 $ php -v PHP 警告:模块“PDO”已在第 0 行未知加载 PHP 警告:模块“日历...
我想在 IntelliJ IDEA 14 的 idea.vmoptions 和 idea.properties 中设置一些特定选项,但我无权访问 C:\Program Files\... 中的这些文件(是的,那是 Windows ,不要恶搞;)...
SSIS:请求的 OLE DB 提供程序 SQLNCLI10.1 未注册
我正在尝试在新的报告服务器上更新我的 ETL 作业,但收到此错误: Microsoft (R) SQL Server 执行 适用于 64 位的软件包实用程序版本 13.0.1601.5 版权所有 (C) 2016 微软...
我的 .vimrc 中有一个条目,当我按空格键时,它会在视口中向下翻页。它看起来像这样: 地图 我想创建另一个键映射哪些页面...
有谁知道有一种方法可以让 Visual Studio 在编译时完全忽略文件吗? 我有一个 C# 解决方案,其中有一个 foo.config 文件,该文件并不是真正的标准配置文件 - 它只是一个文本...
Springboot项目由于如下配置项而无法启动 myconfig.properties 密码=3#{xxxx|xxxx)?4/xxxxxxx+ABC1} 错误日志 导致:org.springframework.expression.ParseException:
我正在尝试使用 SafeConfigParser 读取 Python 3.7 中的配置文件。我尝试过使用 SafeConfigP 中的 readfp 函数给出带文件位置的完整文件名,不带文件位置...
如何在 Zend Framework 2 应用程序中的模块的 getConfig() 中使用 global.php/local.php 配置?
在 ZF2 应用程序中,我有一些配置,即: 1. 需要根据环境而有所不同; 2. 特定于具体模块。我目前正在使用它,如下所述: 全局.php ...
我正在处理的问题是查找 JSON 文件中与 C# 类/对象相比缺少的属性。 我得到以下代码: 公共课服务器 { 字符串 URL { 获取;放; } 字符串
我正在将 Quarkus 应用程序设置为在云中运行,但我找不到如何处理配置文件中的加密属性。 在我的 Spring Boot 应用程序中,我知道我可以为属性添加前缀 ...
我最近安装了 IntelliJ IDEA 2017.2 版本。我想保留旧 2017.1 版本的设置。 IntelliJ 的支持站点显示了应该显示的以下对话框...
我正在用Python创建一个聊天机器人管理器,我自己(或其他开发人员)可以向管理器提供一个配置文件,它将根据在配置中找到的内容生成一个机器人。 那个...
在 osx 下的独立 java 应用程序中使用 log4j 2.0 时,log4j2.xml 中的日期变量无法解析
我在我的独立java应用程序中使用log4j 2。 但是,我在 log4j2.xml 配置中的日期变量上遇到了困难。事情还没有得到解决。 这是我的 log4j2.xml 配置文件: &l...
我正在阅读 D-Bus API 设计指南: 公共API的接口文件应安装到$(datadir)/dbus-1/interfaces,以便其他服务可以加载它们。 好的...为了了解如何...
我需要在PHP中存储一堆配置信息。 我考虑过以下几点...... // 似乎不对。 $mysqlPass = '密码'; // 看起来稍微好一些。 $配置=数组( '
如何从 vim :scriptnames 文件中删除重复项?
我正在努力学习vim。当我打开该程序时,我遇到了以下情况: 航空公司状态栏 funcref 函数('airline#extensions#mundo#statusline') 已添加。航空公司状态栏有趣...