【问题标题】:C# settings using ApplicationSettingsBase - roaming and common使用 ApplicationSettingsBase 的 C# 设置 - 漫游和常用
【发布时间】:2011-03-03 04:34:03
【问题描述】:

我正在使用Windows Forms Application settings architecture(或者您应该参考它)并且成功地将用户设置保存到 AppData。

我想要做的是对特定机器的所有用户共有一些设置,以及一些跨机器与用户漫游的设置。例如,我有一些与连接到计算机的外围设备相关的设置(型号、设置等)以及一些用户偏好,如用户界面颜色。

颜色首选项应随用户漫游,但外围设置应保留在本地计算机上,无论谁登录。

如何标记这些类型的设置,以便将一些设置存储在 All Users/AppData/... 中,而将一些设置存储在 [user name]/AppData/... 中?

请注意,我需要应用程序级别的设置 - 将安装应用程序的每台计算机都有不同的设置。

如果有影响的话,我的目标是 .Net 3.0。

【问题讨论】:

    标签: c# winforms application-settings roaming


    【解决方案1】:

    这是通过 [SettingsManageability] 属性完成的。 LocalFileSettingsProvider 类对其进行检查,只要未部署 ClickOnce 应用程序,该属性的存在似乎就足够了。看起来很没用,设置设计器不支持。

    【讨论】:

      【解决方案2】:

      从您链接到的页面:

      设置文件位置

      app.exe.config 的位置和 user.config 文件将根据 应用程序是如何安装的。为了 基于 Windows 窗体的应用程序 复制到本地计算机, app.exe.config 将驻留在同一个 目录作为基础目录 应用程序的主要可执行文件, 和 user.config 将驻留在 指定的位置 Application.LocalUserAppDataPath 财产。对于已安装的应用程序 通过 ClickOnce,这两个 文件将驻留在 ClickOnce 下面的数据目录 %InstallRoot%\Documents 和 设置\用户名\本地设置。

      如果用户启用了漫游配置文件,这些文件的存储位置会略有不同,这 使用户能够定义不同的 Windows 和应用程序设置时 他或她正在使用其他计算机 域内。在这种情况下,两者 ClickOnce 应用程序和 非 ClickOnce 应用程序将具有 他们的 app.exe.config 和 user.config 文件存储在 %InstallRoot%\Documents 和 设置\用户名\应用程序数据。

      有关如何 应用程序设置功能有效 采用新的部署技术, 请参阅 ClickOnce 和应用程序 设置。有关更多信息 ClickOnce 数据目录,请参阅 访问本地和远程数据 ClickOnce 应用程序。

      【讨论】:

      • 这很好,但应用程序设置在运行时不可写入 - msdn.microsoft.com/en-us/library/aa730869%28VS.80%29.aspx - 启用漫游时的用户设置将与用户一起漫游。我可以区分“本地”用户设置(特定于机器)和“漫游”用户设置(特定于用户)吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 2010-12-14
      • 2020-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      相关资源
      最近更新 更多