gpt4 book ai didi

vb.net - VB 2010和app.config文件和配置文件已被另一个程序更改

转载 作者:行者123 更新时间:2023-12-02 03:32:40 26 4
gpt4 key购买 nike

我是 Visual Studio 的初学者,我正在处理 app.config 文件。我只想问你一个小提示:使用 Windows 窗体在 app.config 文件中多次更新值键的最佳方法是什么。到目前为止我已经尝试过:

就在 Form1 关闭之前,我使用以下代码更新了一个值:

Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(Application.StartupPath & "\MyProyect.exe")
Dim aps As AppSettingsSection = config.AppSettings
aps.Settings.Item("SomeKey").Value = 5 'just an example
config.Save(ConfigurationSaveMode.Modified)

然后打开下一个表单:

Form1.Hide()
Form2.Show()

但是当我尝试再次在新 Form2 中的同一键中保存一个值时,它会抛出一个错误,程序卡住:

配置文件已被另一个程序更改。(C:\Users\RH\Documents\Visual Studio 2010\Projects\MyProyect\MyProyect\bin\Debug\MyProyect.exe.config)

我确实在寻找解决方案,但似乎我是唯一遇到此类问题的人。就像我说的,我只是一个初学者。能给我一些建议吗?

最佳答案

我认为你的问题是这样的,如果你检查 documentation对于config.Save方法,有这样的语句,

If the configuration file has changed since this Configuration object was created, a run-time error occurs.

Save 更改文件,因此这让我相信您只能为 Configuration 对象的每个实例调用一次 save 方法。所以,这让我相信,

Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(Application.StartupPath & "\MyProyect.exe")
Dim aps As AppSettingsSection = config.AppSettings
aps.Settings.Item("SomeKey").Value = 5 'just an example
config.Save(ConfigurationSaveMode.Modified)
aps.Settings.Item("SomeKey").Value = 15 'just an example
config.Save(ConfigurationSaveMode.Modified)

第二次保存会失败,但接下来,

Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(Application.StartupPath & "\MyProyect.exe")
Dim aps As AppSettingsSection = config.AppSettings
aps.Settings.Item("SomeKey").Value = 5 'just an example
config.Save(ConfigurationSaveMode.Modified)
'reopen
config = ConfigurationManager.OpenExeConfiguration(Application.StartupPath & "\MyProyect.exe")
aps = config.AppSettings
aps.Settings.Item("SomeKey").Value = 15 'just an example
config.Save(ConfigurationSaveMode.Modified)

一定会成功。

关于vb.net - VB 2010和app.config文件和配置文件已被另一个程序更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13672657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com