2009-06-15 77 views
3

在过去的几个月里,我已经和我的app.config发生了一些问题。 我将添加一个AppSetting密钥并运行我的项目,它没有真正的问题它读取配置文件,一切都很好。然后在以后的日子,我会改变同一个键的值,当我运行我的项目时,我会得到键的旧值。它似乎没有正确保存文件或检测到app.config文件中有更改。如果我清理或重建我的解决方案,那很好。有没有其他人看过这个问题,有没有解决方法?这是一个真正的问题,需要经常仔细检查,特别是通常情况下,密钥是生产环境和测试环境之间的差异。想象一下,当我开始将测试消息发布到我的生产环境时,我感到惊讶。Visual Studio 2008 App.config缓存

在此先感谢您编译

回答

0

的VS 2008似乎已经奇迹般地解决了我的问题,但我看不出它记录下来

0

你的app.config被复制到bin/Debug或Bin/Release文件夹。如果您在源文件夹中更改app.config,但不重新编译,则更改不会传播。您需要重建以将其移动到代码实际执行的文件夹中。

或者,也可以修改bin/Debug/app.config文件。

我不认为是这样的话 一个重新构建是必要的,每 时间我编译它应该检查 文件,并在更改然后将其复制起来。 但我无法想象,每次我 作出改变,我将不得不做 重建为编译器 承认我的变化。重建VS建立 重建修复我的问题,并重新编译 所有输出而构建从我的理解 检查你不应该清洗/重建的任何变化 到任何文件和文件版本只有那些 文件

,但只需重新编译(F6而不是Build - > RebuildSolution)即可传播app.config。但至少,您的代码必须重新编译。

我想知道是否有可能你的“复制到输出目录”属性为app.config文件设置为“不要复制”?要检查:在解决方案资源管理器中右键单击app.config,单击属性。

+0

我不认为这是一个重新构建是必要的情况下,最后的SP,我每次编译时就应该检查该文件,如果更改然后将其复制。但我无法想象,每次我做出改变,我将不得不为编译器重建来识别我的更改。 重建vs构建 重建修复了我的问题,并重新编译了所有输出 而我的理解构建检查任何文件的任何更改并仅发布那些文件 – 2009-06-15 19:24:02

0

Alternativley你确定你正在编辑正确的app.config:○

你在管理员模式下运行呢?