我正在使用许多不同的设置文件从XP升级到Vista并更改文件的位置以使用
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
行而不是写入应用程序路径。在物业设置的mannnny地方使用了值。这些值是从其他设置文件中的值分配的。
我被告知微软将放弃对Program Files写入虚拟化的支持,这很好,这也是我升级的原因......
下面的语句是否会在运行时导致错误或需要在Vista中以某种方式处理?
Properties.Settings.Default.Properties["ConnectionString"].DefaultValue = config.ConnectionString;
我认为它会在运行时分配值并且无法将值存储在Program Files空间中并且可能会将其写入VirtualStore?现在这可行,但是当虚拟化被删除时它仍然可以工作吗?
我不确定,如果没先问,我不想继续。我完全可以完全离开。任何帮助或意见将不胜感激。感谢。
答案 0 :(得分:0)
我们在XP和Vista上使用ClickOnce,我们没有任何问题。当然,使用ClickOnce,应用程序驻留在用户的文档设置上,这可能与您的案例不同。但是,我认为来自我的ClickOnce体验可能会给你一个部分解决方案。
这是来自在Vista上使用App.Config(写作)的人的link。它说尝试写入App.Config并不是一个好主意。以下是他提出的两条建议:
使用.settings文件,它为每个属性提供强类型设置和用户/应用范围,保存和属性更改通知
在app.config中以不同的名称(例如“userSettings”)注册AppSettings部分,并为其指定allowExeDefinition =“MachineToRoamingUser”。这允许您保留现有语法。