在configSource中使用外部.config文件会产生错误
我正在玩弄如何使用Configuration Manager在App.config文件中读取/编写C#中WPF应用程序的自定义部分。 我读了这篇关于.NET 2.0 Configuration Demystified的优秀文章,它帮助我使用配置文件。 这是我写的初始App.config文件,它工作正常。
App.config中
但是,当我更改App.config文件时,我的自定义部分将从configSource中提到的外部配置文件中读取,Visual Studio给出了一个错误
configSource文件的格式必须是包含该部分名称的元素。
这是App.config和example.config文件
更改了App.config
example.config
你真的试过运行代码吗?
Visual Studio的编辑器/ intellisense有一个缺点,它抱怨configSource=
属性 – 但它绝对合法, 它确实有效 ! 我每天都在各种生产系统中使用它。
我的建议: 试试吧! 运行代码 – 我很确定它会起作用(你的配置看起来不错)。
更新:好的 – 好吧,你似乎完全改变了
标签的风格。 在您原来的app.config
您有:
当然,您的外化example.config
必须包含相同的值和相同的结构:
你可以尝试这个example.config
??
我得到了同样的错误。 在我的情况下,由于我有两个文件中的密钥,然后检测appSettings
标记为重复。
如果您需要在web.config中保存一些与项目相关的密钥,并在另一个文件中保存您的个性化密钥(建议出于安全原因),请使用file
属性而不是configSource
。
web.config文件:
AppSettings.config文件:
希望对别人有所帮助!
我的问题是我在同一个标签中添加了一个configSource和一个键。
不正确:
如果删除“添加”标记或将其移动到configSource文件中,则错误消失。
正确:
如果您在外部创建的部分是在configSections中定义的,则应将configSource属性放在定义该部分的元素中。 只有appSettings和connectionStrings部分(不需要configSections中的定义)应该在主配置文件的主体中包含带有configSource的标签。