【问题标题】:c# Serialize Object throws System.MissingMethodExceptionc# 序列化对象抛出 System.MissingMethodException
【发布时间】:2020-07-20 21:17:04
【问题描述】:

我使用 Neural.NET 库创建了自己的神经网络。由于它没有任何序列化方法,我下载了Newsoft.JsonSystem.Text.Json。如果我尝试像这样对其进行序列化,两者都会引发异常:

Network _network = new Network(2, new[] { 100, 50 }, 2); //Declare the network object
string myObj = System.Text.Json.JsonSerializer.Serialize(_network); //Serialize it

编译器说它没有找到方法MathNet.Numerics.Providers.LinearAlgebra.ILinearAlgebraProvider MathNet.Numerics.Control.get_LinearAlgebraProvider(),它位于Network 类的Provider 属性中。无论如何,Provider 只是{get;}

我不知道抛出异常的确切原因,因为它适用于其他对象,以及使用 MathNet;被宣布。另外,我不知道如何修复/解决这个问题。我研究并修补了一段时间,但这对我来说就像在黑暗的房间里寻找一只黑猫。谁知道更多?

我正在使用 Visual Studio 2019,任何最新的,如果它对任何人都有帮助的话。

编辑:好吧,如果我调用 _network.Provider.ToString() 我会得到同样的错误。所以序列化可能一切正常,但我想念别的东西

【问题讨论】:

    标签: c# json serialization


    【解决方案1】:

    在@Peter 的帮助下,我可以解决问题。问题是,需要的MathNet 的程序集在运行时不存在。所以我以全新的顺序重新安装了每个 Nu-Get 依赖项。我特别将MathNet 放在我项目的 App.config 文件中,在重新启动 Visual Studio 后,一切都按预期编译。

    我对遇到相同问题的每个人的建议:检查您安装的库是否共享相同的依赖项,并按照他们需要的顺序安装,以确保版本不会被覆盖或出现问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      相关资源
      最近更新 更多