2016-12-14 72 views
3

我检查了与配置系统相关的所有互联网上的解决方案未能初始化异常,但他们都没有为我工作。 所以我发布这个问题。c#中的自定义app.config生成配置系统未能初始化异常

我正在使用winform c#编写PayPal REST API。我定制了我的app.config文件。当我重新构建应用程序它显示了Configuration system failed to initialize

下面是默认的app.config代码:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
</configuration> 

,这里是我的定制的app.config代码:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 

    <configSections> 
    <section name="paypal" type="PayPal.SDKConfigHandler, PayPal" /> 
    </configSections> 

<!--PayPal SDK settings--> 
    <paypal> 
    <settings> 
     <add name="mode" value="sandbox" /> 
     <add name="clientId" value="__CLIENT_ID__" /> 
     <add name="clientSecret" value="__CLIENT_SECRET__" /> 
    </settings> 
    </paypal> 

</configuration> 

编辑:

我用try catch块来捕捉异常,否则程序不会终止,但工作异常。我的通话堆栈是空的。我用表单加载尝试捕获。

+0

什么堆栈跟踪?内部例外是否提供更多信息? –

+0

基本上我用try catch块来捕捉异常,否则程序不会终止但工作异常。 我的通话堆栈是空的。 –

+0

@PaoloTedesco我用表单加载尝试捕获。 –

回答

2

我的问题通过将<configSection>作为<configuration>的第一个子元素来解决。

这是代码的重新排列。

这是新代码:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<configSections> 
    <section name="paypal" type="PayPal.SDKConfigHandler, PayPal" /> 
</configSections> 
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
</startup> 

<!--PayPal SDK settings--> 
<paypal> 
    <settings> 
    <add name="mode" value="sandbox" /> 
    <add name="clientId" value="__CLIENT_ID__" /> 
    <add name="clientSecret" value="__CLIENT_SECRET__" /> 
    </settings> 
</paypal> 

</configuration>