我最近将 .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”
如果您知道是什么原因造成的,请告诉我! 非常感谢!
无法使用 Serilog 的
3.1.1
版本重现错误,请检查是否明确安装了 Serilog.Sinks.PeriodicBatching
nuget,自 v4.0.0 PeriodicBatchingSink
(CloudWatchLogSink
的基类)已密封。
如果显式安装了软件包 - 将其降级(例如降级到 3.1.0),如果没有 - 显式安装早期版本(可能您需要降级依赖于此软件包的其他软件包)