【发布时间】:2012-01-04 15:53:36
【问题描述】:
我正在创建我的第一个 Windows 窗体应用程序,其中一个要求是有某种配置文件,客户端可以在记事本中对其进行编辑。例如,配置文件可能具有以下 XML 结构:
<languages>
<language name="English" />
</languages>
应用程序在表单上生成语言组合框时访问文件。如果客户愿意,他可以进去添加另一个<language>节点。
我尝试使用带有自定义配置部分的 app.config 文件。当我发布应用程序然后安装它时,[appname]/Application Files/[appname_version]/ 文件夹中的 [appname].exe.config.deploy 文件是可编辑的,但应用程序似乎不知道编辑。换句话说,如果我添加另一个 <language> 节点,应用程序不会在表单上显示它。
我不确定我是否真的正确地执行了这些操作。用户应该能够编辑 config.deploy 文件吗?如果不是,正确的使用场景是什么?我回想起过去的游戏有 .ini 文件,您可以在记事本中进行编辑!
【问题讨论】:
-
你能展示你用来创建这些可配置控件的代码吗?
-
从技术上讲,我可以只用应用程序打包一个 .txt 或 .xml 文件,然后使用 IO 文件库来读取它。但我担心安装应用程序时,该文件也需要安装到同一个文件夹中。此外,如果用户试图编辑该文件,他们必须找到安装文件夹,该文件夹似乎位于真的奇怪的路径中,例如 Users/[User]/App_Data/strangelocation跨度>
-
@Andrey Atapin: MyConfigSection config = ConfigurationManager.GetSection("myconfig") as MyConfigSection; foreach(config.Languages 中的 LanguageElement 文件){ ddlLanguage.Items.Add(le.Name); } ,其中 MyConfigSection 是一个覆盖 System.Configuration.ConfigurationSection 的类