System.IO.FileLoadException : 给定的程序集名称或代码库无效

System.IO.FileLoadException : The given assembly name or codebase was invalid

嗨,有没有人因为错误的配置字符串导致他们的 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 都已安装。

Here is the full stack trace.

akka.loggers 配置采用 Fully Qualified Type Name 描述的类型列表,例如。 Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog。看,那个名字里只有一个 ,

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

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