为啥将 **appSettings** 部分添加到 App.config 会导致 WPF 应用程序出错?
Posted
技术标签:
【中文标题】为啥将 **appSettings** 部分添加到 App.config 会导致 WPF 应用程序出错?【英文标题】:Why would adding an **appSettings** section to App.config cause an error in WPF application?为什么将 **appSettings** 部分添加到 App.config 会导致 WPF 应用程序出错? 【发布时间】:2010-11-16 10:13:52 【问题描述】:在我的 WPF 应用程序(复合应用程序)中,我想在 App.config 文件中存储一个变量,但只要我在 App.配置,它给了我这个错误:
类型初始化器 System.Windows.Application 抛出了一个 例外。
App.Config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SmartFormMockDirectory" value="C:\test"/>
</appSettings>
<configSections>
</configSections>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="Service1Soap" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTime...
总的来说,我知道这是有效的since I can get it to work in simple applications like this。
什么可能导致上述错误,我将如何修复它以便我可以简单地将变量添加到 App.config 文件?
【问题讨论】:
对于类型初始化程序异常,您应该尝试查询 InnerException。通常有一个。在这种情况下,它会给你一个更好的答案。不过,安德鲁很可能是正确的。 【参考方案1】:似乎在抱怨您将<appSettings>
节点置于<configSections>
节点之上。将<configSections>
节点移动到顶部以成为文件中的第一个元素,或者将其删除(因为您似乎没有使用它)。
来自configSections
Element:
如果 configSections 元素位于 配置文件,configSections 元素必须是第一个孩子 配置元素的元素。
【讨论】:
这把我逼疯了!将 configSections 作为第一个元素,即使appSettings
标签。删除副本为我解决了这个问题。以上是关于为啥将 **appSettings** 部分添加到 App.config 会导致 WPF 应用程序出错?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 asp.net 实体框架 connectionStrings 移动到 web.config 的 appSettings 部分
从 .NET Core 2 中的类中读取 appsettings.json
Web.Config 将单个 AppSettings 转换为 ConfigSource