【问题标题】:What is the .net framework Reference Assemblies Facades folder used for?.net framework Reference Assemblies Facades 文件夹是做什么用的?
【发布时间】:2018-07-02 12:16:44
【问题描述】:

我注意到每个 .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

我很好奇,想知道这些是干什么用的?谢谢!

【问题讨论】:

标签: .net .net-framework-version


【解决方案1】:

类型转发是一个概念,您可以将类型声明从一个程序集(例如 A)移动到另一个程序集(例如 B),而无需重新编译使用第一个程序集的应用程序(一)。

Facade Assemblies 仅包含 Type Forwards

外观程序集匹配契约程序集的标识(这些类似于引用程序集)并将所有类型(在契约程序集中声明)转发到它们各自的实现程序集。

因此,在设计时,您针对一组合同程序集编译您的应用程序,另一方面,在运行时,应用程序在 Facade 程序集中查找类型(因为它们与合同程序集的标识匹配)并转发类型在程序集中,类型声明是从实现程序集中获取的。

由于 Facade Assemblies 仅包含类型 forwards,因此它们的尺寸非常小。

【讨论】:

    猜你喜欢
    • 2012-10-30
    • 2013-01-09
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    相关资源
    最近更新 更多