[英]c# Serialize Object throws System.MissingMethodException
我使用Neural.NET
庫創建了自己的神經網絡。 由於它沒有任何序列化方法,我下載Newsoft.Json
和System.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.