【问题标题】:.NET Core - Using system.diagnostics in App.config.NET Core - 在 App.config 中使用 system.diagnostics
【发布时间】:2021-06-17 02:09:16
【问题描述】:

我正在将控制台应用程序从 .NET Legacy 迁移到 .NET Core 2.2。在那个应用程序中,我使用了HttpClientHttpRequestMessage 类。有时,使用这些类发出的请求会失败。出于这个原因,我的 App.config 文件中有一个 system.diagnostics 块来记录诊断问题的原始请求。虽然这在我的旧版应用程序中有效,但我现在在 .NET Core 中遇到错误。

当我启动我的应用程序时,我看到以下错误:

ConfigurationErrorsException: Unrecognized configuration section system.diagnostics. 

我添加到 App.config 文件中的唯一内容是:<system.diagnostics></system.diagnostics>,这是一个空配置块。如果我删除该块,我的应用程序将按预期运行。

如何将旧应用中使用的 system.diagnostics 配置添加到我的 .NET Core 应用中,以便再次跟踪原始 Web 请求?

谢谢!

【问题讨论】:

  • 您确定您的应用程序的“配置”块内没有 system.diagnostics 块吗?如果是这样,您就不能在同一个项目中实例化两个块。
  • @Dr.Roggia 我怎么知道?我有一个 App.config 文件。它很空旷。 .NET 核心是否会自动为我不知道的控制台应用程序注入一些配置细节?
  • @CodeCaster SO 问题使用 XML 配置方法,这是我正在使用和想要的。但是,答案是针对 ASP.NET 并使用 .json 配置语法。我没有使用 ASP.NET,我正在构建一个控制台应用程序。我想使用 XML 配置方法而不是 .json 方法。

标签: c# .net-core


【解决方案1】:

问题是 .NET Core 没有为 system.diagnostics 预先注册配置部分。

尝试将其放在 App.config 的开头,就在 <configuration> 行下方:

<configSections>
    <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler"/>
</configSections>

【讨论】:

    猜你喜欢
    • 2017-12-15
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 2020-02-03
    相关资源
    最近更新 更多