我正在尝试将 Silverlight 支持添加到我最喜欢的编程语言 Nemerle。
Nemerle,在编译过程中,通过反射主要分两步加载所有类型
1-) 使用 Assembly.LoadFrom 加载程序集 2-) 使用 Assembly.GetTypes() 获取类型
然后在编译结束时,它使用 Reflection.Emit 发出解析的类型。
此过程适用于所有程序集,包括 Silverlight 程序集,除了 silverlight 的 mscorlib。
在 c# 中,这失败了:
var a = System.Reflection.Assembly.LoadFrom(@"c:\mscorlib.dll");
但这通过了:
var a = System.Reflection.Assembly.ReflectionOnlyLoadFrom(@"c:\mscorlib.dll");
Bu 在后者中,a.GetTypes() 抛出异常说 System.Object 的父级不存在。
有出路吗 ?