【问题标题】:Custom Configuration File自定义配置文件
【发布时间】:2012-01-11 13:06:34
【问题描述】:

我正在进行研究,以便为当前使用 ini 文件进行配置设置的程序构建概念验证版本。正在考虑此更改,因为当前 ini 文件存储在程序的安装目录中。概念验证是将 ini 文件迁移到用户配置文件中。

仅此迁移不会有问题,但我们支持的平台也将迁移到 Windows 7。当前系统使用 Windows XP 并使用写保护系统来避免对系统进行更改。我担心的是 Windows 7 上默认位置的用户配置文件将被放置在一个将被写保护的文件夹中。这意味着如果用户必须重新启动系统(考虑到甚至使用该系统的上下文,这不太可能),对配置文件的最新更改将会丢失。

我目前的想法是在我们将其他用户创建文件移动到的同一目录中创建一个自定义用户配置文件。这将允许我们告诉系统配置管理器允许更改哪些目录。

我发现了以下问题:How to write to the main exe's .config userSettings section?

我唯一的问题基于参考问题的接受答案,我是否能够加载自定义配置文件,并轻松访问配置文件的属性(这是参考 System.Properties.Default.SomeApplicationSettingName ) ?

我唯一担心的是用户配置文件的默认位置很难被计算机新手用户找到。由于唯一容易找到的 .NET 配置文件(默认情况下)与可执行文件位于同一目录中,因此给定用户修改该文件的能力将受到质疑。

由于这是一个概念证明,我有能力使用 .NET Framework 4.0 解决方案。不能取消的一项要求是使用外部第三方库。

【问题讨论】:

  • 为什么用户需要找到他们的配置文件?应用程序不应该为他们处理吗?

标签: c# c#-4.0 configuration


【解决方案1】:

考虑使用User settings。您可以适当地读取、写入、修改它们,并将它们保存在具有写入权限的正确位置

【讨论】:

    【解决方案2】:

    如果您只是在寻找用户设置与应用程序设置,这已经内置在 .NET Framework 中。

    Using Settings in C#

    【讨论】:

      【解决方案3】:

      配置设置和文件系统访问权限/安全性是完全不同的两件事。拥有一个配置文件不会影响您在上一个声明中关于“引入不可接受的问题”的陈述,如果文件夹或共享没有正确设置,那么这将是一个网络管理员问题。此外,您仍然可以在 C# 中使用传统的 .INI 文件,我之前已经做过很多次了,但这违背了拥有 app.config 文件的目的

      我并不是说听起来粗鲁……但是您真的熟悉可以使用 .config 文件实现的奇迹/魔法吗……?您不必担心找到 .config 文件的位置,而且您在开发/调试/编码期间使用的 app.config 文件与应用程序将引用/使用的实际文件不同。请记住这一点

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-28
        • 1970-01-01
        • 2014-01-15
        相关资源
        最近更新 更多