我很抱歉,这将是冗长的。但我觉得了解我所做的会更好地帮助一些人回答我的问题。
我一直致力于将应用程序和用户设置添加到我一直放在一起的项目中。好吧,实际上我已经完成了任务,编写了一个文件切换验证类来更新用户设置或根据适当的文件切换重置它们,并触发无效、重复或有效切换的事件。
所有这些都很好。
当谈到我的编码时,我一直有这种学习障碍,我需要准确地了解某些东西是如何工作的,然后我才能感到自在地使用它。我喜欢 Visual Studio 为我做的所有事情,但当我可以时,我无法抗拒查看黑匣子。
话虽如此,我开始使用 .settings 文件添加了我需要的设置,将所有测试的东西都按照我的预期连接起来。它当然生成了完美的 cs 文件和 app.config 文件。
我真的不喜欢这样,因为设计器文件不是来自 T4 代码生成工具,所以我无法控制包装类的静态实例是 .Default(我只是不喜欢它在我的代码中读取的方式) ……
因此,我从设计器文件中删除了整个类,将其添加到我自己的 cs 文件中,进行了我想要的修改并删除了 cs 和设计器文件以及 .settings 文件。运行的东西仍然工作稳定。
然后为了确保它正确地拾取东西,我向类添加了一个额外的设置,其中包含所有正确的属性等,果然它出现在我的代码中并且工作得很好。我可以重置、保存等,就像从原始 .settings 文件生成的那些设置一样。
然而...
我注意到 app.config 没有反映新值,在我的测试中似乎也没有反映原始用户设置的变化。
现在有可能我完全错过了一些东西,但是......
我可以抓住可执行文件运行它查看默认设置。然后使用各种用户设置修改器开关运行它,查看相应的设置。在没有开关的情况下再次运行它并查看相同的用户设置,但在可执行文件的目录中没有生成 app.config 或任何其他文件。顺便说一句,也没有任何东西成为嵌入式资源。
所以最后我的问题:
我想知道这些价值观到底在哪里持续存在?