【问题标题】:Why is my .dll trying to load mscorlib.dll ?为什么我的 .dll 试图加载 mscorlib.dll ?
【发布时间】:2017-10-30 03:31:27
【问题描述】:

我在 .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 并且如果它需要运行(但不是构建?),为什么它不存在?

【问题讨论】:

  • 继续寻找,这里没有错误。需要 mscorlib.dll 是完全正常的,并且缺少 PDB 并不是致命的(并且该消息让您知道 DLL 确实加载了)。

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


【解决方案1】:

为什么要加载那个 .DLL?

一切都加载核心 CLR。这就是定义像“int”这样的类型的地方:始终需要的核心类型。

为什么还没有呢?

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

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

【讨论】:

  • Visual Studio 确实需要显示融合日志数据(并允许配置日志记录)
  • @BenVoigt:我知道,对吧?这也一直困扰着我。
  • 嗨,埃里克,感谢您解释我的主要问题,这真的很有帮助。我正在查看融合日志,但我究竟应该寻找什么?
猜你喜欢
  • 2013-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
  • 2016-04-22
  • 2023-03-05
相关资源
最近更新 更多