gpt4 book ai didi

c# - 为什么 System.Net.Http 从全局程序集缓存中加载所有程序集名称?

转载 作者:行者123 更新时间:2023-12-04 08:02:38 25 4
gpt4 key购买 nike

我想弄清楚为什么我可以加载程序集名称 System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a来自全局程序集缓存。
我安装了 .Net 4.7.2,我正在加载这样的程序集:

var assembly = Assembly.Load("System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
Console.WriteLine(assembly.GetName().FullName);// prints "System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
从我读过的内容来看,没有任何迹象表明从全局程序集缓存加载程序集会在加载程序集时忽略版本号,所以谁能解释为什么 .Net Framework 将这两个不同的程序集视为等效的?

最佳答案

我找到了这个问题的部分答案。此行为是 .Net Framework 统一表的结果。这是 .Net Framework 运行时内部的一个构造,它具有选定数量的程序集的知识,System.Net.Http成为其中之一。
但是,我找不到任何关于此的文档,也找不到任何方法可以找出此统一表中存在哪些程序集。

关于c# - 为什么 System.Net.Http 从全局程序集缓存中加载所有程序集名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66377243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com