为什么我的 .dll 试图加载 mscorlib.dll ?

Why is my .dll trying to load mscorlib.dll ?

我在 .NETCoreApp 1.1 的 VS2017 中创建了一个 Class 库, 当我尝试从另一个测试项目加载 .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.2\mscorlib.dll'. Cannot find or open the PDB file.

它为什么要尝试加载那个 .DLL 并且如果它需要 运行(但不是构建?),为什么它还不存在?

Why is it trying to load that .DLL?

一切都加载核心 CLR。这就是定义 "int" 类型的地方: core 类型 always 是必需的。

why is it not already there?

是的。核心库加载成功。消息是调试信息不​​可用。 PDB 文件包含有助于调试器理解 DLL 中信息的信息。如果要调试信息,安装调试信息。

另一个程序集由于其他原因无法加载。使用融合日志查看器找出原因。