【问题标题】:how to change .NET user settings location如何更改 .NET 用户设置位置
【发布时间】:2011-01-31 21:42:25
【问题描述】:

默认设置存储在:C:\Documents and Settings\\Local Settings\Application Data\<Project Name>

如何将此路径更改为应用程序目录。我也不想为不同的用户提供不同的文件。如何使设置全局化?

我尝试将设置的范围更改为“应用程序”,但无法在运行时更改它们。

【问题讨论】:

    标签: c# appsettings application-settings


    【解决方案1】:

    您始终可以读写自己的XML configuration files

    【讨论】:

      【解决方案2】:

      以编程方式更改所有用户的设置存在困难(因为它们来自 exe.config 文件,该文件通常位于 Program Files 中,因此在现代操作系统中被保护免受写访问)。您可以尝试在应用程序范围内进行设置,然后使用ConfigurationManager 来弄乱配置文件,类似于this question 的解决方案。

      【讨论】:

        【解决方案3】:

        Using the default built-in behavior you can't!

        问:为什么路径如此模糊?有什么方法可以更改/自定义 是吗?

        答:路径构建算法必须满足一定的严格性 安全方面的要求, 隔离性和鲁棒性。虽然我们 试图使路径尽可能容易 通过利用尽可能发现 提供友好的应用程序 字符串,不可能保留 路径完全简单,没有 遇到碰撞等问题 与其他应用程序、欺骗等。

        LocalFileSettingsProvider 不 提供一种更改文件的方法 存储了哪些设置。注意 提供者本身并不确定 第一个中的配置文件位置 地方 - 这是配置 系统。如果您需要存储 在不同的位置设置 出于某种原因,推荐的方法是 编写自己的 SettingsProvider。这 实现起来相当简单,你 可以在 .NET 2.0 SDK 中找到示例 显示如何做到这一点。记住 但是你可能会遇到同样的情况 上面提到的隔离问题。

        我同意 Robert Harvey 的回答,自己动手,or write a custom settings provider.

        【讨论】:

        • 您提供的链接是旧的 Visual Studio 手册。我找不到有关自定义设置提供程序的任何信息。您能否提供有关此主题的更多信息?
        猜你喜欢
        • 2017-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-28
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        相关资源
        最近更新 更多