首页 > 解决方案 > System.IO.FileLoadException:给定的程序集名称或代码库无效

问题描述

嗨,有没有人因为配置字符串错误而导致他们的 actorsystem 崩溃?我被给了

System.IO.FileLoadException : The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)

所以它似乎无法使用我的配置字符串解析类型名。这里是:

akka {
loglevel=WARNING,
loggers=[""
Akka.Logger.Serilog.SerilogLogger,
Akka.Logger.Serilog,
Akka.TestKit.TestEventListener,
Akka.TestKit""]}

我不确定我做错了什么,因为 serilog 和 testkit 都安装了。

这是完整的堆栈跟踪。

标签: .netakka.net

解决方案


akka.loggers配置采用完全限定类型名称描述的类型列表,例如。Akka.Logger.Serilog.SerilogLogger,Akka.Logger.Serilog。看,这个名字只有一个,

在您的配置中,您指定了两个完全限定的类型名称,您没有将它们分开,因此它们被读取为包含 3 的单个名称,,这对于 FQTN 无效。只需将这两种类型分开:

akka {
    loggers = [
        "Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog",
        "Akka.TestKit.TestEventListener, Akka.TestKit"
    ]
}

推荐阅读