Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#visual studio-Properties.Settings.Default.someValuer或其他人让我感到困惑_C#_Visual Studio 2008_Settings - Fatal编程技术网

C#visual studio-Properties.Settings.Default.someValuer或其他人让我感到困惑

C#visual studio-Properties.Settings.Default.someValuer或其他人让我感到困惑,c#,visual-studio-2008,settings,C#,Visual Studio 2008,Settings,C#visual studio项目:Properties.Settings.Default.someValuer或其他项目让我感到困惑 我有一个相对简单的项目。它在会话之间保存一组最后输入的值,并在下次调用时恢复这些值。他工作得很好。我更改了一个控件,使允许的最小值不再是1,而是现在的100。最后使用的值为3。启动时,它现在抱怨3不是有效值 嗯,嗯,当然,但是听听其他的 我已将VS中的设置编辑为默认值500。我已将exename.config文件编辑为包含500而不是3。我检查了每一个可能的配置

C#visual studio项目:Properties.Settings.Default.someValuer或其他项目让我感到困惑

我有一个相对简单的项目。它在会话之间保存一组最后输入的值,并在下次调用时恢复这些值。他工作得很好。我更改了一个控件,使允许的最小值不再是1,而是现在的100。最后使用的值为3。启动时,它现在抱怨3不是有效值

嗯,嗯,当然,但是听听其他的

我已将VS中的设置编辑为默认值500。我已将exename.config文件编辑为包含500而不是3。我检查了每一个可能的配置文件(vshost.exe.config,bin/debug,bin/release,obj/debug,obj/release中的文件)。它们都包含value=500。我重复地重新构建。我只将exe和配置文件复制到一台单独的PC上,因此开发环境不是一个因素。我仍然收到此错误消息

更让我困惑的是,在dev PC上,如果我在/obj/debug或/obj/release中运行exe(直接,而不是在调试器中),我不会得到错误。如果我在/bin下运行exe,我会得到错误。配置文件有相同的内容。如果我从/obj复制exe&config(在dev PC上没有给出错误的那一个)到另一台电脑,我确实得到了错误

我认为exename.config是我必须处理的全部,但看起来VS在背后做了一些事情——至少是我在文档中找不到的事情。我想这是一件微不足道的事情。如果有人能解释我错过了什么,我一定会非常感激。我真正想做的就是可靠地保存一次运行中的一些用户设置让这个应用程序“忘记”那个过时的值

短暂性脑缺血发作


Mickey

在您的解决方案中查找*.settings文件。这是您构建项目时使用的值的存储位置。

这不是全部答案,但它确实解释了神秘值的存储位置:

“这可能对处理Settings.Settings和App.config的某些人有所帮助:在Visual Studio(我是VS2008)中编辑Settings.Settings网格中的任何值时,请注意属性窗格中的GenerateDefaultValueInCode属性。如果将GenerateDefaultValueInCode设置为True(此处默认为True!),默认值被编译到exe(或dll)中,当您在纯文本编辑器中打开它时,您可以发现它嵌入到文件中。我正在使用控制台应用程序,如果我在exe中有默认值,应用程序总是忽略同一目录中的配置文件!这真是一场噩梦,在整个internet上都没有相关信息。”

…在这里的另一篇文章中。我现在单独测试从设置中读取的值,而不是信任它,并在需要时强制它们进入有效范围

这确实是一个丑陋的、隐藏得很好的默认值。自从CPM.Jeesh问世以来,我就没有在可执行文件中嵌入数据值


再次感谢您,Microsoft。

抱歉,没有。我也检查了此项,并确保其值正确而不是过时。MickeyI运行了应用程序并更改了设置(不是有问题的设置)。我退出。我搜索了在最后一分钟内被更改的文件。没有找到任何文件。再次运行应用程序。发现我的设置现在具有我刚才设置的值。这些内容保存在哪里?!