You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Serilog读取appsettings.json时抛出类型未找到异常求助

解决Serilog配置中“Type Sample.CustomPolicy, Sample was not found”错误

这个错误的核心是Serilog加载配置时找不到你指定的Sample.CustomPolicy类型或对应程序集,按以下步骤排查:

  • 定位配置中的引用
    打开appsettings.json,找到包含Sample.CustomPolicy, Sample的节点,通常出现在Serilog.Destructure.With或Serilog.Enrich.With这类配置项里,示例:

    "Serilog": {
      "Destructure": {
        "With": [ "Sample.CustomPolicy, Sample" ]
      }
    }
    
  • 确认类型存在性

    1. 检查项目中是否存在CustomPolicy类,且命名空间为Sample;
    2. 确保该类是public访问级别,且正确实现Serilog要求的接口:
      • 若为解构策略,需实现IDestructuringPolicy;
      • 若为日志增强器,需实现ILogEventEnricher。
  • 核对程序集名称
    配置中逗号后的Sample是程序集名称(不是命名空间)。右键项目→属性→应用程序,查看程序集名称字段,将配置里的Sample替换为实际程序集名称。比如项目叫MyConsoleApp,配置应改为Sample.CustomPolicy, MyConsoleApp。

  • 检查拼写与大小写
    C#大小写敏感,确认配置中的类型名、命名空间、程序集名称拼写完全一致,无大小写错误。

  • 验证配置加载逻辑
    确保控制台应用正确加载appsettings.json,示例代码:

    var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
        .Build();
    
    Log.Logger = new LoggerConfiguration()
        .ReadFrom.Configuration(config)
        .CreateLogger();
    

内容的提问来源于stack exchange,提问作者Siddharth Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:43:17