gpt4 book ai didi

c# - property.setting 值存储在 c# windows 应用程序中

转载 作者:可可西里 更新时间:2023-11-01 12:40:29 25 4
gpt4 key购买 nike

我认为它应该是一个配置文件,但找不到它。谢谢

最佳答案

整个配置文件的位置可能有点滑。根据它是“用户”设置还是“应用程序”设置,它将进入不同的文件。一些设置甚至可以来自您的“机器”配置(如 ASP.NET 的情况)。我发现询问 .NET 在哪里寻找这些文件 比猜测所有文件在哪里更有用。大致:

//Machine Configuration Path
string path1 = ConfigurationManager.OpenMachineConfiguration().FilePath;
//Application Configuration Path
string path2 = ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None).FilePath;
//User Configuration Path
string path3 = ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;

应用程序配置

这就是添加到您的项目中的内容。构建过程会将其命名为 [myproject].exe.config。这包含(大部分)只读应用程序设置和用户特定设置的应用程序级默认值。应用程序级别设置很难以编程方式更改其值。应用程序级别设置属性将只定义“get”。 目的是: 如果您的设置适用于应用程序的所有用户,则应手动编辑(或安装程序)来设置它们。如果它因用户而异,则将其设为针对每个用户的设置。

二进制默认设置

您的应用程序将在没有 [myproject].exe.config 文件的情况下运行。为此,二进制文件有自己的“存储”版本。这在某些方面很有用,但可能会造成混淆。如果 .config 文件位于错误的位置或名称错误,.NET 将恢复为“二进制默认值”。它可能导致无法通过更改配置文件来影响设置的外观。使用上述方法了解 .config 的真正位置,否则将面临二进制默认设置的愤怒。

用户配置

这是在您第一次使用“每用户”设置“保存”您的 Default.Settings 对象时生成的。此文件保存在用户配置文件路径中的某个位置,该位置基于您的项目名称、版本、操作系统和一些其他黑暗的 .NET 魔法。这些设置的属性是可读/可写的。它们旨在轻松设置,然后只需一次调用即可保存。

齐心协力

那么我的设置在哪里?答案是可能有许多文件连接在一起以获得设置的“事件集”。 App.config 和 user.config 设置是基本 block ,但还有 machine.config 设置,然后是依赖项装配设置,这些设置会使事情变得更加复杂……但这完全是另一个话题。

配置文件的真实情况是散布在许多丑陋的案例和细节中。然而,只要对它们如何结合在一起了解一点,它就是一个相当有用的系统。特别是如果你意识到你可以数据绑定(bind)到这些设置;)

关于c# - property.setting 值存储在 c# windows 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/481025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com