如果您不了解Phoenix,它是Microsoft的编译器框架,它可以成为所有新编译器的基础.它可以从CIL,x86,x64和IA64读取代码; 并在x86,x64,IA64或CIL中发出代码.
我可以使用它将纯.Net应用程序转换为纯本机应用程序吗?我的意思是,它不必加载任何.Net .dll(甚至不是mscoree),并且将具有相同的语义?当然,这不包括反思.
在不了解Phoenix的情况下,为了让.NET应用程序本地运行,你还需要一个本机版本的框架,除非你不使用框架(这几乎是不可能的).
CLR还包括垃圾收集,程序集加载等,因此转储CLR的解释部分可能不会对.NET应用程序的性能产生太大影响.
另外,来自Phoenix FAQ:
问:如何从原生图像重新定位到MSIL图像(反之亦然)?
答:不是很容易.这不是一个受支持的场景,虽然它在理论上可能是合理的,但我们并不知道有谁真正做过它.