簡體   English   中英

c# 序列化 Object 拋出 System.MissingMethodException

[英]c# Serialize Object throws System.MissingMethodException

我使用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 MathNet.Numerics.Providers.LinearAlgebra.ILinearAlgebraProvider MathNet.Numerics.Control.get_LinearAlgebraProvider() ,它位於網絡 class 的 Provider 屬性中。 無論如何,提供者只是{get;}

我不知道拋出異常的確切原因,因為它適用於其他對象,以及使用 MathNet; 被宣布。 另外,我不知道如何修復/解決這個問題。 我研究並修補了一段時間,但這對我來說就像在黑暗的房間里尋找一只黑貓。 誰知道更多?

我正在使用 Visual Studio 2019,任何最新的,如果它對任何人都有幫助的話。

編輯:好吧,如果我調用 _network.Provider.ToString() 我會得到同樣的錯誤。 因此,序列化可能一切正常,但我想念別的東西

在@Peter 的幫助下,我可以解決問題。 問題是,需要的MathNet程序集在運行時不存在。 所以我以新的順序重新安裝了每個 Nu-Get 依賴項。 我特別將MathNet放在項目的 App.config 文件中,重新啟動 Visual Studio 后,一切都按預期編譯。

我對遇到相同問題的每個人的建議:檢查您安裝的庫是否共享相同的依賴項,並按照他們需要的順序安裝它,以確保版本不會被覆蓋或其他東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM