微软专家:为什么VC++.net作的managed应用会对kernel32.dll有依赖?
我装了Visual Studio.net,用VC++.net,VB.net,C#分别编译了几个managed application(exe),我听说.net是一次编写,到处运行的,它的managed应用是编译成中间语言代码的,不是目标机器码。但是我用vc++.net作的C++ managed应用,用Depends查看却发现它对Kernel32.dll和mscoree.dll有直接依赖,而用C#作的只对mscoree.dll有依赖。后者好理解,mscoree.dll就是.net运行时的一部分吗,但是kernel32.dll是怎么回事,难道我期望Unix(假设已有了用于Unix的.net)上也有这个dll吗?是否VC++.net作的managed应用都是managed和unmanaged混合的代码,而不能作纯的managed应用?