问题标签 [configurationmanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何让 ConfigurationManager 从多个文件加载应用程序设置?
我正在编写与第三方应用程序互操作的应用程序。此应用程序通过 DLL 中的方法向开发人员公开 API。前段时间,这个应用程序的供应商开始将他们自己的 .NET 组件集成到他们的程序中,当他们这样做时,他们决定他们的组件应该使用 .NETConfigurationManager
在运行时获取设置。
这意味着:他们的程序 ,foo.exe
调用fooengine.dll
,并从 读取其设置foo.exe.config
。我的程序 ,bar.exe
也调用fooengine.dll
,它从 读取其设置bar.exe.config
。
嗯,这完全是错误的。但是我该如何解决呢?
foo.exe.config
简单的解决方法是将的设置复制到bar.exe.config
. 这会起作用,但它很愚蠢。这意味着从管理的角度来看,必须在 N 个不同的文件中维护给定的设置。这迟早会失败。
我尝试在我的配置文件中configSource
的部分上放置一个属性。appSettings
(碰巧,我正在使用该applicationSettings
部分进行设置,而他们正在使用该appSettings
部分进行设置,因此我可以简单地从不同的文件中获取该部分。)但ConfigurationManager
不喜欢这样:它想要路径configSource
不仅相对于我的程序目录,而且在我的程序目录之下。
我可以物理地将他们的设置文件读入一个XmlDocument
然后自己设置它们。但现在我将我的代码与他们的实现紧密耦合;如果他们发布了一个新版本,将设置移动到该applicationSettings
部分(现在应该是 2009 年的位置),我的代码将会中断。
还有其他方法吗?
configuration - 通过配置管理器从 AppSettings 中获取 StringCollection
我正在访问我的程序集的配置,如下所示:
我的 .config 文件包含这样的部分
如果我编辑 .config 文件,我可以成功读取连接字符串,包括更改。所以,我知道我已连接到正确的文件。但是我在 appSettings 对象中找不到该字符串集合。它不在 .Settings KeyValueConfigurationCollection 中。我在哪里可以找到我的弦乐收藏?
c# - AppSettings 中的更改需要重新启动我的应用程序如何避免?
我正在使用 C# .NET 2.0 Windows 应用程序。
我将 app.config 用于我的应用程序设置。
但是 AppSettings 中的更改不会反映运行时,它需要重新启动应用程序。
我怎样才能避免它。
这是我用来读写应用程序设置的代码片段。
我正在阅读这样的设置
我正在更新这样的值,其中节点是当前配置/appSettings 节点
wpf - 绑定到 ConfigurationSection
我刚刚将所有设置从 AppSettings 转换为 ConfigurationSections。它确实清理了一些东西,但我在使用首选项窗口时遇到了困难。我想在我的 WPF 窗口中使用绑定。
- 我应该将每个 ConfigurationSection 存储在依赖属性中并绑定到 ConfigurationSection 的属性吗?
- 我应该使用调用 ConfigurationManager.GetSection 的 ObjectDataProvider 吗?
- 还有其他方法可以做到这一点吗?
题外话:我发现 WPF 中的绑定非常强大,但是创建绑定有时会有点混乱或困难。我希望有更好的 XAML 文档。
.net - 你如何指示 NUnit 从特定目录加载程序集的 dll.config 文件?
如果程序集包含 app.config 文件,ConfigurationManager
只要它与通过 NUnit-Gui 执行的 NUnit 项目位于同一目录中,就会加载它。为了说明,请考虑以下文件夹结构。
AssemblyA
和调用. AssemblyB
_ ConfigurationManager
如果我在 NUnit-Gui 中独立运行这些测试程序集,ConfigurationManager
将正确解析本地配置文件。
但是,如果我加载testProject.nunit
到 NUnit-Gui(其中包含对AssemblyA
和的引用AssemblyB
),无论当前正在执行哪个程序集,都会在其中ConfigurationManager
查找配置文件。TestFolder
有没有办法指示 NUnit 将应用程序配置重新加载到当前程序集目录中的配置?
以下是 的内容testProject.nunit
:
visual-studio - Visual Studio:缺少配置管理器
我正在使用 Microsoft Visual Studio Team System 2008 Team Suite。
我缺少“配置管理器”菜单项。我已经为配置管理器分配了一个键盘快捷键,但它没有任何效果(实际上,它会产生“叮”的声音)。
如何让配置管理器适用于所有项目?
c# - 如何从 ConfigurationManager.AppSetting["settingname"].ToString() 返回逐字字符串
我正在使用该ConfigurationManager.AppSetting["blah"].ToString()
方法获取包含我需要的文件的文件夹的路径。但是UnsupportedFormatException
当它尝试使用Directory.GetFiles(path)
.
返回值包含转义字符,我不确定如何防止它返回多余的字符。这是路径返回后的样子:
\\\\\\\\C:\\\\folder1\\\\folder2
fitnesse - ConfigurationSettings.AppSettings 为空,抛出空异常
我有这样的课:
当我尝试像这样使用它时:
我收到一个错误:“System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.NullReferenceException:对象引用未设置为对象的实例。” AppSettings 的 AllKeys 属性是一个长度为零的数组,我期望长度为 1。
我在项目中的 app.config 文件如下所示:
我知道 ConfigurationSettings.AppSettings 应该已经过时了,我应该使用 ConfigurationManager.AppSettings,但我什至无法编译它。我在项目中确实引用了 System.configuration(我的机器上的 c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.configuration.dll)和 using 代码顶部的语句。
我正在使用 Fitnesse 测试代码,这就是我收到错误的时候。我的理解是,我还应该将 app.config 文件的副本放在我已经完成的测试夹具项目的 Bin>Debug 文件夹中。所以,我不知道为什么我仍然收到这个错误。
请帮忙。
.net - 无法获得对 ConfigurationManager 的引用
我根本无法让 Visual Studio 2005 找到System.Configuration.ConfigurationManager类。这是代码:
我绝对肯定在项目中有对System.Configuration的引用,它绝对是在正确的项目中。DLL 版本为 2.0.0.0,运行时版本为 2.0.50727 - 与所有其他版本完全相同。我尝试删除引用并重新添加它。一件奇怪的事情是,当它显示在项目的“参考”“文件夹”中时,它显示为“System.configuration”——带有小写的“c”。
Visual Studio 可以毫无问题地找到System.Configuration.ConfigurationSettings类,除了警告它已过时。该项目是一个 Web 项目,代码位于 WebControl 的代码隐藏中。
有什么想法吗?
c# - 错误:当前上下文中不存在名称“ConfigurationManager”
我在我的 Visual C# 控制台应用程序(Visual Studio 2005 .NET 2.0 Framework)中包含了以下语句
我在我的应用程序中使用以下语句:
我尝试构建应用程序,但出现错误:当前上下文中不存在名称“ConfigurationManager”。
请问有什么帮助吗?