.NET Framework 程序集未从 GAC 加载

.NET Framework assembly not loaded from GAC

我有点困惑。根据 MSDN the location of global assembly cache is C:\Windows\Microsoft.NET\assembly from .NET 4.0 on-wards and for older version it is C:\Windows\assembly. Now I wrote a hello world program in .NET 4.6.1 and according to VS 2017 modules window,程序集是从第一个位置加载的,这对我来说是错误的。根据 Process Explorer,程序集是从第二个位置加载的,这实际上是正确的,因为我使用 Process Explorer 中的 HANDLE 命令对其进行了测试。请查看屏幕截图。那么为什么 VS 显示错误的位置呢?那是VS错误吗?

Mscorlib.ni.dll 是 mscorlib.dll 的原生图像。您可以在此处获得有关 VS 调试为何加载此符号而不是 mscorlib.dll.

的详细信息

https://blogs.msdn.microsoft.com/junfeng/2004/11/11/mscorlib-ni-dll/

但是如果在调试模块 windows 中加载此 dll 文件失败,您可以在此处查看此报告:

https://developercommunity.visualstudio.com/content/problem/90494/visual-studio-fails-to-load-symbols-for-mscorlibni.html