【问题标题】:Converting winform from XP to Vista - Properties.Settings将 winform 从 XP 转换为 Vista - Properties.Settings
【发布时间】:2008-11-24 13:58:40
【问题描述】:

我正在将具有许多不同设置文件的应用从 XP 升级到 Vista,并更改文件的位置以使用

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

行而不是写入应用程序路径。属性设置中的 mannny 地方使用了一些值。这些值是从其他设置文件中的值分配的。

有人告诉我,微软将放弃对 Program Files 写入虚拟化的支持,这很好,这也是我升级的原因...

像下面这样的语句会在运行时导致错误还是需要在 Vista 中以某种方式处理?

Properties.Settings.Default.Properties["ConnectionString"].DefaultValue = config.ConnectionString;

我认为它会在运行时分配值并且无法将值存储在 Program Files 空间中,并且可能会将其写入 VirtualStore?目前这可以工作,但是当虚拟化被移除时它仍然可以工作吗?

我不确定,不想在没有先询问的情况下继续。我可以完全离开。任何帮助或 cmets 将不胜感激。谢谢。

【问题讨论】:

    标签: winforms windows-vista windows-xp


    【解决方案1】:

    我们在 XP 和 Vista 上使用 ClickOnce,没有任何问题。当然,对于 ClickOnce,应用程序驻留在用户的文档设置中,这可能与您的情况不同。但是,我认为我的 ClickOnce 体验可能会给您一个部分解决方案。

    这是一个link 来自在 Vista 上使用 App.Config(写作)的人。它说尝试写入 App.Config 不是一个好主意。以下是他提出的两条建议:

    • 使用 .settings 文件,它为您提供强类型设置和每个属性的用户/应用范围、保存和属性更改通知

    • 在 app.config 中以不同的名称(比如“userSettings”)注册 AppSettings 部分,并为其指定 allowExeDefinition="MachineToRoamingUser"。这允许您保留现有的语法。

    【讨论】:

    • 感谢您的帮助。我更好地理解了我的问题,并对项目有了一些新的发现。我显然使用了一个单独的 xml 文件以及 app.config。不得不更改很多文件路径,但都设置好了。
    猜你喜欢
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多