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

运行应用时触发System.TypeLoadException:无法加载OpenTelemetry指定类型

问题解决:OpenTelemetry类型加载异常

环境信息

包引用

<PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="1.4.0-beta.2" />
<PackageReference Include="OpenTelemetry.Exporter.Prometheus" Version="1.2.0-rc5"/>
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.0.0-rc9.8" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.0.0-rc9.8" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.0.0-rc9.8" />

Program.cs 代码片段

builder.Services.AddOpenTelemetryMetrics(b =>
{
    b.AddPrometheusExporter();
    b.AddMeter(TelemetryConstants.MyAppSource);
    b.SetResourceBuilder(resource);
    b.AddHttpClientInstrumentation();
    b.AddAspNetCoreInstrumentation();
});

错误信息

调用 app.UseOpenTelemetryPrometheusScrapingEndpoint(); 时抛出异常:

System.TypeLoadException: 'Could not load type 'System.ServiceProviderExtensions' from assembly 'OpenTelemetry, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7bd6737fe5b67e3c'.'

解决方案

该异常由OpenTelemetry相关包版本不兼容导致:

  • 你使用的OpenTelemetry.Exporter.Prometheus版本为1.2.0-rc5,而其他核心依赖包(如Extensions.Hosting、Instrumentation系列)均为1.0.0-rc9.8,版本跨度大导致内部依赖类型不匹配。

具体修复步骤:

  1. 统一所有OpenTelemetry包版本:
    • 若继续使用RC版本,将OpenTelemetry.Exporter.Prometheus降级至1.0.0-rc9.8,与其他包版本保持一致;
    • 推荐切换到稳定版,例如统一使用1.5.1版本:
      <PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="1.5.1" />
      <PackageReference Include="OpenTelemetry.Exporter.Prometheus" Version="1.5.1"/>
      <PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.5.1" />
      <PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.5.1" />
      <PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.5.1" />
      
  2. 删除项目的bin、obj目录,清理NuGet缓存后重新构建项目;
  3. 确认UseOpenTelemetryPrometheusScrapingEndpoint()调用方式正确,稳定版本中该方法使用逻辑无变更。

内容的提问来源于stack exchange,提问作者Sunilkumar Mandati

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:42:15