.net core 2.0的一次奇特經歷


環境:.net core SDK版本 2.0.0-preview1-005977 

         VS 2017 version 15.3.0 preview 3.0

問題描述:今天在遷移Job的項目中,中午吃飯的時候項目還是能跑起來的,正常。吃完飯,然后回來,項目就掛掉了,在program.cs文件加載過程中直接拋異常:

System.StackOverflowException
點進異常信息中去看,就一條記錄        $exception    The debugger is unable to evaluate this expression    System.StackOverflowException

由於周一的時候也遇到這個問題,當時的做法是:新建一個項目,把出錯項目的東西都給復制過去,然后運行就好了。 今天又出現了這個問題了,我覺得一定要把它搞明白,不然問題可能還會出現。

問題查找過程:

   我把舊項目備份了一下,然后在舊項目的基礎上把所有我寫的東西都給刪了,然后再運行項目,項目還是一樣的錯誤。我開始覺得是不是的開發環境出問題了,然后新建了一個項目,結果這個測試的項目可以在本機運行成功,那么我的系統的運行環境是沒有問題的。我有點懷疑是不是這個項目只要一出錯,會生成某個文件,每次運行的時候,執行到這里就會出錯。畢竟我現在兩個項目從表面上看是一模一樣的。

   接下來我對兩個項目從文件管理器中進行比對,結果發現了一個問題,我的出錯的項目的\bin\Debug\netcoreapp2.0目錄下有一堆原來引用的*.dll 包,而新建的項目中什么都沒有。

我於是檢查了一遍我的csproj文件,結果出錯的項目中除了系統生成的引用並沒有加上額外的引用。感覺問題不應該出現在這里。

后來干脆一下把所有的dll給刪除了,項目運行成功了。沒有異常信息出現。那么問題就在這里了

后來一個一個排查之后發現是NewtonSoft.Json.dll這個包的錯。刪除之后問題解決了。

可是還有個疑問沒有解決: 明明我沒有引用那個dll 為什么放在了那里就會出現這個錯誤?等以后遇到了再實際解決吧!

 


免責聲明!

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



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