为什么未记录GAC文件夹结构?

问题描述 投票:0回答:1

为什么未记录GAC文件夹结构?

我正在阅读通过C#通过CLR,在这本书中指出:

CSC.exe不在GAC中查找引用程序集的原因是,您必须知道程序集文件的路径,并且GAC的结构未记录。

我不明白在创建规则和为GAC文件夹结构记录规则方面有哪些障碍。

UPDATE在评论中,建议可能存在一个技术问题,该问题不允许实施文件夹结构的规则。但我可以通过提供可能规则的示例来证明并非如此:

1 GAC只能包含全名的程序集。2根据定义,重命名的程序集是一个具有名称,版本号,区域性和公共密钥令牌(实际上是公共密钥,但是我们可以使用该令牌的方法,因为公共密钥太长了)。1 2-> 3每个程序集都可以通过名称,版本,区域性和公共密钥令牌来唯一标识。3-> 4如果使用以下文件夹结构规则,则将满足提供所需文件夹结构规则的最初目标:[名称] / [版本] / [文化] / [公钥令牌] / [程序集本身]

我在这里想念东西吗?

.net documentation clr assemblies gac
1个回答
0
投票

。NET初始标准文档仅定义GAC的功能,但不限制其实施。因此,

  • 。NET Framework 2.x / 3.x具有初始实现。
  • 。NET Framework 4.x使用不同的实现。
  • 诸如Mono的其他实现使用它们自己的结构。

最重要的是,.NET Core甚至没有GAC。

因此,C#编译器不能依赖GAC的参考搜索算法实现。

© www.soinside.com 2019 - 2024. All rights reserved.