问题标签 [application-settings]
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# - 在 C# 中读取默认应用程序设置
我的自定义网格控件有许多应用程序设置(在用户范围内)。其中大部分是颜色设置。我有一个表单,用户可以在其中自定义这些颜色,我想添加一个按钮来恢复默认颜色设置。如何读取默认设置?
例如:
- 我有一个名为
CellBackgroundColor
in的用户设置Properties.Settings
。 - 在设计时,我将值设置
CellBackgroundColor
为Color.White
使用 IDE。 - 用户在我的程序中设置
CellBackgroundColor
为。Color.Black
- 我用 保存设置
Properties.Settings.Default.Save()
。 - 用户点击
Restore Default Colors
按钮。
现在,Properties.Settings.Default.CellBackgroundColor
返回Color.Black
。我怎么回去Color.White
?
c# - 设置。默认。始终返回默认值而不是持久存储(XML 文件)中的值
我最近用 C# (.Net 2.0) 编写了一个 DLL,其中包含一个需要 IP 地址的类。我的一位同事更改了类以从“.dll.config”(XML)文件中检索 IP——这显然是由他创建的“应用程序设置”文件(Settings1.settings)自动生成的。这样做的好处是允许最终用户随意更改 XML/config 文件中的 IP 地址。
不幸的是,当我从树中检查他的代码并尝试编译(或使用)这个新代码时,任何调用这个 DLL 的应用程序都只会得到默认值,而不是文件中的值。
调用配置文件的构造函数如下所示:
我在 MSDN 论坛上找到了对此问题的参考,其中一位用户说:
“旧”值(您在开发时定义的值)是硬编码的。如果框架无法访问或打开配置文件,它将使用默认值。如果您在 dll 中使用设置,这种情况总是会发生。
这是否意味着我不能在配置文件中存储 DLL 的外部值?(我的同事以某种方式完成了这项工作......)
由于我的框架似乎无法访问或打开配置文件,我该如何找出它失败的原因?甚至检测何时发生这种情况?
德克尔:这有点帮助。不幸的是,我正在将此 DLL 写入规范,因此我实际上无法访问应用程序的配置文件。正如您将在上面提到的,我的同事创建了一个“设置1 .settings”文件。当时我不明白这一点,但现在看来,添加“1”会将其排除在任何调用它的应用程序的设置空间之外。
我想我想弄清楚为什么 DLL 似乎没有在同一目录中找到它旁边的配置文件。一步一步地跟踪代码没有发现任何问题。
顺便说一句,我可以将程序集的“输出类型”从“类库”更改为“Windows 应用程序”,并在 DLL 代码的开头添加以下行:
当我运行它时,它会生成一个不同的配置文件(“.exe.config”),我可以更改该文件并让它从文件中提取新数据。所以我有点困惑。有任何想法吗?
.net - 跨库的 ApplicationSettings
我正在尝试将所有数据库代码抽象到一个单独的库中,然后在我的所有代码中使用该库。所有的数据库连接都是使用类型化的 TableAdapter 完成的,我在 VS2005 中通过拖放数据集创建,使用来自 appSettings 的连接字符串。
我无法解决的问题是 .Net 不会将库 appSettings 传播到正在使用它的其他项目。
简而言之,我有一个数据库层库 MyProgram.DbLayer,它被 MyProgram.Client 等其他项目使用。当我在 .Client 中拥有所有数据集时,connectionString 位于 MyProgram.Client.exe.config 中,这样我可以在构建后更改它。当我将它移到 MyProgram.DbLayer 中时,该设置在我构建二进制文件后对我不可用。
编辑:这似乎是 ApplicationSettings 的一个更普遍的问题。
我注意到的是,如果我手动添加仅在库中使用的设置,它将被正确读取。我现在唯一需要的是将设置也自动包含在 .config 文件中。
.net - 如何在单声道项目中使用应用程序设置?
我正在尝试将应用程序移植到 Mono,但是 Mono 不支持“应用程序设置”。我不会也不会使用 Mono Develop,开发是使用 Visual Studio 完成的。
有什么快速的方法可以解决这个问题吗?或者我应该实现自己的设置替换类?
如果重要的话,这是一个 VB.NET 应用程序。
c# - 如何在 Windows 窗体应用程序中保存应用程序设置?
我想要实现的目标非常简单:我有一个使用路径读取信息的 Windows 窗体 (.NET 3.5) 应用程序。用户可以使用我提供的选项表单来修改此路径。
现在,我想将路径值保存到文件中以备后用。这将是保存到此文件的众多设置之一。该文件将直接位于应用程序文件夹中。
我了解三个选项可用:
- 配置设置文件 (appname.exe.config)
- 登记处
- 自定义 XML 文件
我读到 .NET 配置文件无法将值保存回它。至于注册表,我想离它越远越好。
这是否意味着我应该使用自定义 XML 文件来保存配置设置?
如果是这样,我想看看那个(C#)的代码示例。
我看过其他关于这个主题的讨论,但我仍然不清楚。
c# - 如何从自定义组件(WinForms)添加应用程序设置
我有一个 WinForms 用户控件,当添加到表单时,应该自动将一些元素添加到应用程序设置中。(当然,用户应该能够自定义/禁用此行为。)
这是可取的吗?这样做的“好”方法是什么?
[编辑]
该控件提供了文件菜单的默认实现,消费者只需在设计器中连接菜单/工具栏项,并实现一些基本事件。其中一部分是最近的文件列表,默认情况下应该记住它。
我同意消费者需要完全控制他是否希望自动添加这些设置。
到目前为止,我将文件列表公开为公共字符串属性,消费者可以将代码添加到 init 并将其存储在应用程序配置中/中。如果可能的话,我想进一步简化这一点,以便消费者只需提供设置变量,他希望将设置存储在其中(如果他想要的话)。
c# - 无法在 .net 3.5 中保存应用程序设置
我正在创建一个应用程序,它使用用户范围在应用程序设置中存储基本数据库连接信息,如主机、用户、密码和默认数据库名称。
我在 Visual Studio 2008 中使用 .net 3.5
我在用户控件中放置了 4 个文本框,并将它们的文本属性绑定到应用程序设置的各个属性。
这些文本框将从用户那里获取用户数据以设置自己的数据库信息。我有一个按钮,可以将修改后的信息保存回设置文件
但设计并没有被保存。有什么帮助吗?
问候,安詹
致西里尔:是的,我有代码在属性中分配修改后的值,但后来甚至将范围设置为“用户”,它说只读。所以我删除了属性分配代码。现在我把代码带回来并重新启动 VS,它现在完美运行:D 傻我,我应该尝试过这个旧程序。谢谢西里尔。
c# - 如何从控制台应用程序中访问 Properties 命名空间?
我正在尝试存储/检索存储在应用程序设置中的值。从我的控制台应用程序中,我似乎无法访问 Properties.Setting 命名空间。我的网上冲浪显示,在控制台应用程序中可能需要做更多的工作。如何做到这一点?
谢谢!
iphone - 如何在我的应用程序设置包中显示应用程序版本修订?
我想在我的应用程序的设置包中包含应用程序版本和内部修订,例如 1.0.1 (r1243)。
Root.plist 文件包含这样的片段...
我想在构建时替换“VersionValue”字符串。
我有一个可以从我的存储库中提取版本号的脚本,我需要的是一种在构建时处理(预处理)Root.plist 文件的方法,并在不影响源文件的情况下替换修订号。
design-patterns - 跨多个服务器/应用程序共享全局变量
我希望为跨多个 Web 服务器、服务器应用程序甚至可能是内部桌面工具的设置设置一个中央控制点。
目前的情况是,我在每个网络服务器或每个应用程序中都有一个设置文件,其中定义了全局变量:管理员电子邮件、上传文件的存储位置等。一些设置(例如用于发送错误报告的全局管理员电子邮件)是几乎全公司。其他设置可能是特定于客户端或站点的。
我还希望这个中央数据库能够密切关注访问每个设置的人员/内容。例如,假设我有一个“ProcessedImageUploadFolder”设置,其值为“\\ImageServer\cache\”,由 5 个不同的网站使用,但我想更改此设置,但查看我的中央系统,我看到还有我没想到的第 6 台服务器也一直在请求此设置(调用应用程序需要识别自己以获取设置,以便数据库可以记录它),以防万一更改第 6 台服务器的此设置会有一个副作用。
在使用服务推出和记录设置的服务推出我自己的数据库之前,我想知道是否有任何库/应用程序已经处理了这样的事情。如果已经完成了这样的事情,有没有人有任何想法?这种类型的系统叫什么?
最好的解决方案是 C#/SQL,但如果唯一的选择是 php 或 Java,我可能会使用它作为基础并移植它。
还是我对这一切都错了?
编辑: 这不是多租户。一些将使用此服务的应用程序已经在多租户设置中。其他是一次性应用程序......其他是在本地网络或 VPN 上使用的桌面应用程序。
如果有人可以更好地标记这个问题,请成为我的客人。