1

我在 Visual Studio 中的 MySettings 遇到了一些问题。

我通过 GUI(属性菜单)设置了一些设置。给他们名字和价值。一切都得救了。

假设我有一个设置:SettingA,Value=123(用户设置)

我在 Formload 的文本框中显示 SettingA,但没有任何反应。我在 Formload 的消息框中显示 SettingA,没有任何反应。

表单加载后,如果我编写一个按钮以在文本框中显示设置......它确实如此。

如果,在代码中,我更改设置的值并保存它。然后让它显示在文本框中,它将显示正确的值。

如果我关闭应用程序并重新启动它,它将不会显示任何内容..或显示旧值。

如果我自己通过项目的“属性”菜单更改设置的值,然后尝试让新值显示在 Formload 上,或者通过按钮单击.....要么什么都不会发生,要么它仍然会显示旧的价值。

似乎在程序运行时,我可以更改代码中的值并让它们正确显示..只要我想。关闭程序后,我没有看到代码中所做的任何更改反映在“属性”菜单中。

这对我来说毫无意义。如果我自己更改了一个值,为什么它不会显示/为什么它仍然显示旧值?

如果我正在更改代码中的值,将它们保存在代码中,然后显示它们..为什么它们不显示在“属性”菜单中?

这就像更改没有完全提交......或者它们正在从多个位置读取。

同样,这些是用户设置。

我一直在使用的唯一代码是:

txtPort.Text = My.Settings.Port

My.Settings.Port = txtPort.text

My.Settings.Save()

不一定按那个顺序..只是显示我正在使用的东西。

4

1 回答 1

0

您似乎在调试期间更改了设置值,然后期望看到这些更改反映在开发环境中。

事情是这样的,您在调试期间保存设置的文件是您在 Visual Studio 中使用的文件的副本。它不会影响 Visual Studio 项目中的值。仅当您未在解决方案中进行任何需要重建的更改时,您保存的设置才会在下次调试时仍然存在。

如果您希望通过属性窗口输入的值显示在调试中,那么您必须在调试之前重新构建应用程序。

当你构建应用程序来调试它时,你并没有在 VS 之外运行程序。VS 创建一个 exe 来运行并运行它,同时保留对其资源的访问权,以便为您提供有关应用程序活动的反馈。

正如 nilllzz 7 所述,您可以通过单击同步将 VS 项目设置同步到调试文件中的设置。

于 2015-07-11T04:14:17.803 回答