解决方法
你混淆不同的东西
Managed code是用CIL(通用中间语言,以前称为Microsoft中间语言或MSIL)编译并以CLR的受管环境运行的托管语言(C#,VB.NET,F#和许多其他语言)编写的代码.
另一方面,非托管代码直接编译成本机代码(也称为汇编),它不会在CLR上运行.
当你建立你的C#代码,它被编译成CIL.这就是为什么可以使用像ildasm或Reflector这样的工具检查编译的代码.当您执行CIL代码时,会发生什么情况取决于具体情况.它可能是
>使用JIT编译器(最常见的选项)编译成本地代码“及时”.>使用预编译的本地代码执行(您可以使用NGEN来获取).>直接解释;我认为Windows的某些版本的.Net或类似的.