2017-05-29 77 views
1

我在VS2017中.NETCoreApp 1.1, 做一個類庫,當我嘗試從另一個測試項目加載.DLL,我得到的錯誤爲什麼我的.dll試圖加載mscorlib.dll?

System.IO.FileNotFoundException: 'Could not load file or assembly 'ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.' 

,並在輸出我看到

'dotnet.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\1.1.2\mscorlib.dll'. Cannot find or open the PDB file. 

爲什麼它試圖加載該.DLL,並在需要運行(但不是構建?)的情況下,它爲什麼不在那裏?

+2

繼續尋找,這裏沒有錯誤。這是完全正常的需要mscorlib.dll,並且缺少一個PDB不是致命的(並且該消息讓你知道該DLL確實加載)。 –

回答

4

爲什麼它試圖加載該.DLL?

一切都加載核心CLR。這就是「int」類型定義的地方:核心類型是總是需要

爲什麼它不在那裏?

它是。核心庫已成功加載。消息是調試信息不​​可用。 PDB文件包含幫助調試器瞭解DLL中的信息的信息。如果您需要調試信息,請安裝調試信息。

另一個程序集由於其他原因未能加載。使用融合日誌查看器來找出原因。

+1

Visual Studio確實需要顯示融合日誌數據(並允許配置日誌記錄) –

+0

@BenVoigt:我知道,對吧?這也一直困擾着我。 –

+0

嗨,埃裏克,謝謝你解釋我的主要問題,這真的有幫助。 我正在瀏覽融合日誌,但究竟應該尋找什麼? – Sindorej

相關問題