Nuget 包 Serilog.Sinks.AwsCloudwatch 抛出 TypeLoadExceptions,因为父类型已密封

问题描述 投票:0回答:1

我最近将 .NET 6 项目更新到 .NET 8,并将所有包更新到最新版本。

但是,当尝试加载记录器时运行应用程序时,我遇到以下错误

System.TypeLoadException:“无法从程序集“Serilog.Sinks.AwsCloudWatch,Version=4.0.182.0,Culture=neutral,PublicKeyToken=23b095b16108dcf5”加载类型“Serilog.Sinks.AwsCloudWatch.CloudWatchLogSink”,因为父类型已密封。”

发生在这里:

 var logger = new LoggerConfiguration()
     .WriteTo.AmazonCloudWatch(options, client);

“Serilog.Sinks.AwsCloudWatch”的版本是“4.0.182”(更新中没有改变)

“Serilog”版本从“3.0.1”变为“3.1.1”

如果您知道是什么原因造成的,请告诉我! 非常感谢!

c# .net amazon-web-services amazon-cloudwatch serilog
1个回答
0
投票

无法使用 Serilog 的

3.1.1
版本重现错误,请检查是否明确安装了
Serilog.Sinks.PeriodicBatching
nuget,自 v4.0.0
PeriodicBatchingSink
CloudWatchLogSink
的基类)已密封。

如果显式安装了软件包 - 将其降级(例如降级到 3.1.0),如果没有 - 显式安装早期版本(可能您需要降级依赖于此软件包的其他软件包)

© www.soinside.com 2019 - 2024. All rights reserved.