我注意到每个.NETFramework Reference Assemblies文件夹中都有一个Facades文件夹。从v4.5开始。这些文件夹中的所有程序集都非常小,只包含元数据。 例子:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Facades
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7\Facades
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.1\Facades
我很好奇,想知道这些用途是什么?谢谢!
答案 0 :(得分:0)
类型转发是一个概念,您可以将类型声明从一个程序集(例如 A)移动到另一个程序集(例如 B),而无需重新编译使用第一个程序集的应用程序(一)。
Facade Assemblies 只包含 Type Forwards
Facade 程序集匹配契约程序集的身份(这些类似于引用程序集)并且类型将所有类型(在契约程序集中声明)转发到它们各自的实现程序集。
因此,在设计时,您根据一组契约程序集编译应用程序,另一方面,在运行时,应用程序在 Facade 程序集中查找类型(因为它们与契约程序集的标识匹配)并转发类型在程序集中,类型声明是从实现程序集中获取的。
由于 Facade Assemblies 仅包含向前的类型,因此它们的尺寸非常小。