【问题标题】:How can I make <configSections> <runtime> inside <configuration> work together我怎样才能使 <configSections> <runtime> 里面 <configuration> 一起工作
【发布时间】:2019-03-05 14:57:09
【问题描述】:

这是我的 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: 只有一个元素 每个配置文件都允许,如果存在必须是 根元素

如果我删除 &lt;runtime&gt; 部分应用程序运行良好但会导致 bulid time 警告:

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

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

【问题讨论】:

  • 这令人困惑。该错误的意思是“必须只有一个 configSections 部分,并且它必须是配置元素的第一个子元素”,但在您的配置中似乎就是这种情况。 &lt;userSettings&gt;&lt;applicationSettings&gt; 中是否还有另一个 configSections 声明?
  • 嗯,不知道是不是因为你声明了多个sectionGroups?
  • 如果我删除 部分,除了构建时间警告外,一切都很好。 @stuartd

标签: c# nuget app-config


【解决方案1】:

我觉得&lt;runtime&gt;&lt;configSections&gt;一起使用没有任何问题(我用它做了2个项目,都可以)。 p>

我不知道你在下面的部分配置什么,也许你的问题在它们里面:

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

【讨论】:

  • 该死,在我清理和重建之后,一切正常。无论如何,谢谢你的提示。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-24
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    相关资源
    最近更新 更多