所以我最近更新了我的应用程序以支持新功能。在过去,如果用户删除了配置文件,这不是什么大问题。这个新功能要求它存在,其中一个要求是,该文件存在于应用程序的安装目录中。
我注意到文件被删除时(取决于我还没想到的变量)我得到一个.NET通知,说明配置文件丢失或损坏。目前我的程序崩溃了(我仍然需要弄清楚如何复制这种行为)这就是这个问题的原因。
我熟悉ConfigurationManager。加载默认值后,我无法写入文件。由于某种原因强制保存似乎不会重新创建文件,至少不在安装目录中,这是一个要求。
我正在寻找如何以优雅的方式处理这个角落案例的指导。我会发布代码,老实说它只是所有失败的尝试,当我尝试生成文件时,内容不是我正在寻找的设置。
我愿意发布任何可以提供帮助的内容。
答案 0 :(得分:2)
停止使用内置配置支持,只使用标准XML类对一个名为something.exe.config的文件进行写入/读取,如果删除,只需从可执行文件中硬编码的值重新创建它
配置文件支持应该会让事情变得更容易,如果你需要做的事情让事情变得困难,不要使用它。
答案 1 :(得分:0)
像
这样的东西 var wcfm = new WebConfigurationFileMap();
配置newConfig = WebConfigurationManager.OpenMappedWebConfiguration(wcfm,“/”);
newConfig.Save();
不起作用?
答案 2 :(得分:0)
如果管理员删除配置文件,请崩溃,请求重新安装。没有什么是可靠的,因为你不能假设你可以在运行时写入文件夹。后面跟着事件日志条目的消息是最好的方法。用户不应该删除部分应用程序。