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

时间:2017-05-29 19:01:36

标签: c# visual-studio dll class-library

我在.NETCoreApp 1.1中的VS2017中创建了一个类库, 当我尝试从另一个测试项目加载.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并且如果需要运行(但不是构建?),为什么它不存在?

1 个答案:

答案 0 :(得分:4)

  

为什么要尝试加载.DLL?

一切都加载核心CLR。这就是" int"等类型的地方。已定义:核心类型始终需要。

  

为什么它不存在?

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

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