.NET Compact Framework 引入了可重定向程序集引用,现在用于支持可移植类库。
基本上,编译器会发出以下 MSIL:
.assembly extern retargetable mscorlib
{
.publickeytoken = (7C EC 85 D7 BE A7 79 8E )
.ver 2:0:5:0
}
C# 编译器如何理解它必须发出可重定向引用,以及如何强制 C# 编译器甚至在可移植类库之外发出此类引用?
对于程序集本身来说,它是一个程序集标志,即[程序集:AssemblyFlags(AssemblyNameFlags.Retargetable)]。
请注意,此标志在平台程序集之外没有意义 - 自定义程序集无法重定向。
对于引用,它作为名称的一部分从被引用的程序集中复制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)