解決一起奇怪的“Could not load file or assembly”錯誤。
今天在運作一個ASP.NET Core項目的時候發現這樣的錯誤:

我一開始覺得這是個很簡單的問題,很明顯,出錯的原因是項目中某些地方還保留了對Njt.MvcAuthLib這個庫的引用,而現在我不需要了,隻需要把相關的引用去掉就可以了,我搜尋了整個項目,很奇怪,沒有任何關于MvcAuthLib的字樣,一個都沒有,難道Visual Studio的搜尋有問題?我換了Visual Studio Code,一樣,嘗試數次,問題依舊,沒有地方引用到它。
後來我想到了,沒有直接引用,那會有間接引用吧,因為我是用Nuget來處理類庫的依賴關系,我看看我引用的類庫哪個有引用到Njt.MvcAuthLib不就行了?但我非常仔細的一個個看下來了——沒有!這就奇怪了!
死馬當活馬醫,重新建立項目,添加引用,再把源代碼檔案拷貝進去,編譯,運作,問題還在!
最後發現問題是這樣的,這個項目引用了一個自己開發的庫,這個被引用的庫确實使用到了Njt.MvcAuthLib,但它的Nuget包并沒有指定這個依賴關系,是以編譯時看不出錯誤,Nuget依賴關系也查不出錯誤,隻有在運作時才會發現缺失Njt.MvcAuthLib,這是個很低級的錯誤,卻花了不少時間,分享出來讓大家注意下這個坑。