将winform从XP转换为Vista - Properties.Settings

时间:2008-11-24 13:58:40

标签: winforms windows-vista windows-xp

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

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

行而不是写入应用程序路径。在物业设置的mannnny地方使用了值。这些值是从其他设置文件中的值分配的。

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

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

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

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

我不确定,如果没先问,我不想继续。我完全可以完全离开。任何帮助或意见将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

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