В .NET Compact Framework были введены ссылки на переназначаемые сборки, которые теперь используются для поддержки переносимых библиотек классов.
В принципе, компилятор испускает следующий MSIL:
.assembly extern retargetable mscorlib
{
.publickeytoken = (7C EC 85 D7 BE A7 79 8E )
.ver 2:0:5:0
}
Как компилятор С# понимает, что он должен испускать ссылку переназначения и как заставить компилятор С# выдавать такую ссылку даже за пределами переносимой библиотеки классов?