c#,。net
这是我15年前首次出现时出现的问题。这听起来很容易,但我发现破解非常困难,主要是因为信息太少了。我最后破解了它,但现在是时候再次查看问题,我可以尝试重用我的15yo代码,或者我可以调查是否有更好的方法来做到这一点。如果可能的话,我选择了后者,但我仍然无法找到任何相关内容。
我的exe是C:\ Program Files ...................... \ wwww.exe。
我想查看d:\ somewhere else \ xxxx.config,即随机位置。
在那个文件中,我想去一个自定义部分yyyyy,即随机部分。
我希望能够读取和写入字符串值zzzzz。这个值最终是一个字符串是我能做出的唯一有效假设。
所以,忘记wwww.exe.config中表现良好的AppSettings部分 - 我正在寻找的东西比较棘手。
我只是看了我编写的代码来执行此操作 - 这是很多行 - 它从OpenMappedExeConfiguration开始,只是一步一步地研究出来。最终值作为object.ToString()返回。必须有一个更好的方法。我想知道是否有人使用他们认为简洁优雅的方法?
我部分解决了这个问题,但不得不假设我的设置位于文件的某个部分(appSettings)。我可以逃脱这一点,因为虽然设置是逻辑上的用户设置,但每个用户已经拥有自己的配置文件。
Microsoft配置文件是一个特殊结构的XML文件,Microsoft有一个专门的程序集与System.Configuration合作,我真的希望任何贡献者知道这一点,当然如果他们觉得他们知道足够的贡献在所有。所以基于System.Xml的建议,更糟糕的是System.IO,就我而言只是得到了一个“F”。我把它们当作大多是滑稽的,我想知道为什么有人参与信息共享网站,如果没有帮助的话。但无论如何,我的解决方案依赖于System.Configuration。
在伪代码中为简洁起见:
而已。我猜任何当前的读者都已经知道这一切,但我希望它对未来的读者有用。我发现整理它很有用,将这些碎片放在一起需要一段时间,所以它至少可以节省人们的时间。
顺便说一句,我无法分享原始代码的原因是因为我不拥有代码本身或版权。在我的司法管辖区,雇主/客户通常拥有员工/顾问编写的代码,至少在他们工作的时候,我也不例外。但我只有英国和美国的经验,所以其他司法管辖区可能会有所不同。并且,那些没有专业参与软件开发的人可能会完全遵守不同的规则。最后,多年来我发现许多软件开发人员完全不了解法律问题。