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”找明白問題所在。
資深小白,說的不對的地方請多多指教。
定會虛心學習。