问题标签 [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.
.net - app.config 全球化
web.config 允许全球化标记:此设置将为整个 ASP.NET 应用程序设置全球化。
这个标签是否也适用于标准表单应用程序的 app.config 中?如果是...应该放在哪里?
或者..是否有另一种方法可以为整个表单应用程序设置全球化。包括dll和所有线程?
c# - 您可以在运行时更改 Foo.settings 文件中的设置吗?
我有以下代码确定它是否是用户第一次打开应用程序。如果是,则会显示一个文件对话框,然后应该将设置更改为 false,因此在此之后不会发生这种情况。
在最后一行,我收到以下错误:
无法将错误 1 属性或索引器“CDLauncher.Properties.Settings.FirstTimeUse”分配给 -- 它是只读的
我怎样才能做到这一点?
design-patterns - 哪些设计模式可以应用于配置设置问题?
在大型和复杂的软件产品中,管理可配置设置成为一大难题。我看到的解决问题的两种方法是:
- 让系统中的每个组件从配置文件或注册表设置中加载自己的配置。
- 有一个设置加载器类,它加载所有可配置的系统设置,并让每个组件查询设置加载器的设置。
这些方法对我来说都是错误的。
是否有任何设计模式可用于简化问题?也许可以利用依赖注入技术。
c# - Settings.settings - 如何从一种环境更改为另一种环境?
我有一个 Web 应用程序项目(已编译的 DLL)以及 3 个 DLL 项目。在我的 DLL 项目中,我使用 Properties/Setting.settings 从 DLL 中提取可变设置。但是,当我从环境发布到下一个环境时,我还没有想出如何更改新环境的 Settings.settings 值。似乎 settings.settings 值存储在 [project root]/app.settings 文件中。但是,当 DLL 项目编译时,它不会创建[项目名称].config 文件进行部署。
我错过了什么?
forms - SDL.NET (VB/C#):启动对象和应用程序类型应该是什么?
由于 VB.NET 的各种缺点(糟糕的音频支持、执行过程中没有读取事件、键盘输入非常弱等),我最终无法进一步使用我的程序。所以我尝试了 SDL.NET 6.1。
尽管它的文档很糟糕,但我能够修复我的代码以使用它,我喜欢它!
但是有一个问题。我不知道如何为它设置我的应用程序设置。启动对象绝对应该是一个类(示例总是在类中,而不是模块中),但启动类必须是一个表单!这很糟糕,因为 SDL 通过 SetVideoMode 创建自己的窗口;你不需要表格。因此,当表单构造函数 New() 完成时,会创建一个无用的表单,并且您有两个窗口。
我尝试在 New() 中调用游戏引擎循环,以便游戏在 New() 没有完成的情况下启动。游戏运行正常,这样就解决了“第二个窗口”的问题……但是无法关闭! X 按钮什么都不做,对 Events.QuitApplication 或 Me.Close 的调用被公然忽略,等等。
我难住了。看来我需要设置一个非表单类作为启动对象,但它不会让我。
哦,对了,好像有两个东西叫做“SDL NET”。为了澄清,我正在使用这个,它存在于SdlDotNet命名空间中。
哦,我忘了提,我还注意到很多例子都有一行写着“[STAThread]”。这很重要吗?
编辑:我已经收到并接受了我的问题的答案,但我想告诉其他人退出/关闭应用程序的问题是什么,即使这不是我的问题:
虽然 SDL.NET 允许您接收输入和运行其他事件而不必停止运行逻辑,应用程序在逻辑运行时仍然无法退出。所以我发现告诉你的 SDL.NET 应用程序在运行逻辑中退出的最佳方法是使用以下两行:
将这些放置在 SdlDotNet.Core.Events.Quit 事件的处理程序中,以及您希望程序退出的任何其他位置。
blackberry - 黑莓 - 应用程序设置保存/加载
我知道两种保存/加载应用程序设置的方法:
- 使用PersistentStore
- 使用文件系统(存储,因为 SDCard 是可选的)
我想知道您在使用应用程序设置方面的做法是什么?
使用 PersistentStore 保存/加载应用程序设置
持久存储为对象提供了一种在设备重置期间持久存在的方法。持久对象由键值对组成。当持久对象被提交到持久存储时,该对象的值通过深拷贝存储在闪存中。然后可以在稍后的时间点通过密钥检索该值。
用于存储和检索设置的帮助类示例:
示例应用程序屏幕 http://img182.imageshack.us/img182/6348/appsettings.png
使用示例:
iphone - 如何在设置屏幕中添加标签
正如一张图片所说的一千多个字: alt text http://img.skitch.com/20091008-k16k7we3t43gj3h7htgtjpunpx.jpg
任何有关如何向设置窗格添加描述性标签的帮助将不胜感激!我应该指出,我想在 iPhone 的 Settings 菜单中的 iPhone-App 设置中执行此操作(在 App 之外)。
示例标签:
- iPhone -> 设置 -> Safari -> 欺诈警告
- 下面的标签:“访问欺诈网站时发出警告。”
app-config - App.Config 与自定义 XML 文件
我已经阅读了很多诸如“您不应该使用自定义设置阻塞您的 app.config 文件”之类的声明。但是,我的印象是这正是文件的目的?
这真的只是一种偏好吗?或者通过使用与 app.config 文件相对的自定义 XML 文件是否有任何真正的好处(除了设置的分离)?如果您需要明确分离设置,使用自定义ConfigurationSection
而不是选择自定义 XML 文件会更好吗?
我想在这里谈谈其他人对此的看法。
.net - 如何在安装时更改 .NET 应用程序/用户设置?
在 Windows 服务项目中,使用项目安装程序我尝试了以下操作:
但是安装后当我检查 .config 文件时,旧值仍然存在。通常的 [userfolder]\AppData\Local 中没有 .config 文件
对我来说,在安装时定义这个变量很重要,因为我将从安装项目中的用户输入接收它的值。此处的常数值仅用于测试目的。
c# - 当存储的数据类型发生变化时,如何升级 Settings.settings?
我有一个在用户设置中存储对象集合的应用程序,并通过 ClickOnce 进行部署。应用程序的下一个版本具有存储对象的修改类型。例如,以前版本的类型是:
新版本的类型是:
显然,ApplicationSettingsBase.Upgrade
不知道如何执行升级,因为 Age 需要使用 转换(age) => DateTime.Now.AddYears(-age)
,所以只会升级 Name 属性,而 DateOfBirth 将只有 Default(DateTime) 的值。
所以我想提供一个升级例程,通过覆盖ApplicationSettingsBase.Upgrade
,它会根据需要转换值。但是我遇到了三个问题:
- 当尝试使用 访问以前版本的值
ApplicationSettingsBase.GetPreviousVersion
时,返回的值将是当前版本的对象,它没有 Age 属性并且有一个空的 DateOfBirth 属性(因为它不能将 Age 反序列化为 DateOfBirth)。 - 我找不到从哪个版本的应用程序中找出我正在升级的方法。如果有从 v1 到 v2 的升级过程和从 v2 到 v3 的过程,如果用户从 v1 升级到 v3,我需要依次运行这两个升级过程,但如果用户是从 v2 升级,我只需要运行第二个升级过程。
- 即使我知道应用程序的先前版本是什么,并且我可以访问以前结构中的用户设置(例如通过获取原始 XML 节点),如果我想链接升级过程(如问题 2 中所述),我将在哪里存储中间值?如果从 v2 升级到 v3,升级过程将从 v2 读取旧值并将它们直接写入 v3 中的强类型设置包装类。但是如果从 v1 升级,我会将 v1 升级到 v2 过程的结果放在哪里,因为应用程序只有 v3 的包装类?
我认为如果升级代码直接在 user.config 文件上执行转换,我可以避免所有这些问题,但是我发现没有简单的方法来获取以前版本的 user.config 的位置,因为LocalFileSettingsProvider.GetPreviousConfigFileName(bool)
它是一个私有方法。
有没有人有一个 ClickOnce 兼容的解决方案来升级在应用程序版本之间改变类型的用户设置,最好是一个可以支持跳过版本的解决方案(例如从 v1 升级到 v3 而不需要用户安装 v2)?