我检查了与配置系统相关的互联网上的所有解决方案都无法初始化异常,但没有一个能为我工作。 所以我发布了这个问题。
我正在使用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块来捕获异常,否则程序不会终止但工作异常。我的调用堆栈是空的。我在表单加载时使用了try catch。
答案 0 :(得分:3)
我的问题通过将<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>