未能加載文件或程序集“Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=……”


emmmm~

這是一個讓人煩躁有悲傷的問題~

背景

我也不知道什么原因,用着用着,正好好的,就突然報了這種問題~

未能加載文件或程序集“Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106”

然后我就開始了漫長的尋找答案之旅

 

解決方案

真的太難了,我真的太難了~

根本沒有解決次類似的問題的答案,各種解決方法也基本大同小異,對我而言解決不了~

倒是有一個看着很靠譜的,但由於這個問題的可能性 格外廣泛,我不是這個原因,SO這個答案沒幫上我什么忙,

倒是讓我體會了什么叫“血淋淋的教訓”。

 

先把這個答案貼上:https://blog.csdn.net/u012284907/article/details/100885695說不定有需要的小可愛~

 

然后再把我的教訓給大家說一下,免得走我的老路。估計也沒人和我一般

為了解決上述問題,說是要換一下數據庫版本(由8.0.7換為版本低一些的,即8以下的版本),然后我就無腦換了,

但是我在原版本數據庫創建的庫和表沒有備份卸載了服務,卸載了庫!!!!真是愚蠢至極!!!

竟無語凝噎!!!!

所以這里提醒大家一下,一定一定不要不備份就對數據庫起一些非分之想!!!

然后我又絕望又郁悶的繼續解決我的問題。

庫也沒了,問題也沒解決,你難以想象我當時的絕望。

然后我就靜下心來仔細去追蹤了我的錯誤,沒辦法,網上沒解決方案,只能靠自己了

 

 我不再局限於追蹤那一句話,我打開了“FusionLog”這個地方:

 

 這簡直是雪中送炭!

我知道Mysql.Data.dll依賴Renci.SshNet.dll,他又提示錯誤的起源是DisInternetThings.Api下面的bin文件夾,然后我去看了看bin文件夾,果然,這下面沒有Renci.SshNet.dll文件~~~然后我復制過去之后,大功告成,問題解決。

 

 

 

 但是這只是暫時解決問題了而已,你只是將dll復制到了bin文件夾,如果一刪,這個問題還是會復現,所以你需要使用NuGet包再下一遍Renci.SshNet.dll,然后刪掉bin目錄,重新編譯。就可以解決這個問題。

 

我這個解決辦法也是眾多答案中的其中之一,最根本的解決辦法你還是需要找清問題所在。所以你要記得加上try{}catch Exception(ex){throw ex;},查看ex中的“FusionLog”找明白問題所在。

 

資深小白,說的不對的地方請多多指教。

定會虛心學習。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM