如何使<configuration>中的<configsections> <runtime>一起工作

时间:2019-03-05 14:57:10

标签: c# nuget app-config

这是我的WPF应用程序中的app.config:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <section name="XXX.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
        </sectionGroup>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <section name="XXX.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
        </sectionGroup>
      </configSections>

      <userSettings>...</userSettings>
      <applicationSettings>...</applicationSettings>

      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
      </startup>

      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.3.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>

运行应用程序获取异常:

  

ConfigurationErrorsException:仅一个元素   每个配置文件允许的,如果存在,则必须是   根元素

如果我删除了<runtime>部分,则应用程序运行良好,但会导致显示时间警告:

enter image description here

解决方案:https://stackoverflow.com/a/46533630/3907561

所以我的问题是如何在“配置”内部使“ configSections”“运行时”协同工作

2 个答案:

答案 0 :(得分:0)

我发现同时使用 <runtime> <configSections> 没什么问题(我做了2个项目,都可以)。

我不知道您在波纹管节中配置了什么,也许您的问题出在其中:

      <userSettings>...</userSettings>
      <applicationSettings>...</applicationSettings>

答案 1 :(得分:0)

尝试清洁并重建解决方案。