1.非也,.net是为了跨OS和硬件平台,达到二进制复用而设计的。
2..net可以认为是COM的升级版,.相比于COM组件,net装配件是自描述的,其安装不依赖于OS,具体的说,.net的安装不依赖于注册表。COM好象是只有Windows平台才支持的二进制复用机制。
3.你可以认为没有用了,但是OS底层的东西你用不了了,比如,听说Windows RunTime底层是基于COM的。
4.建议用ATL,MFC的支持局限性大,而且可执行文件臃肿。
5.请搜索"DLL Hell",COM虽然依赖于OS的注册表,但它部分避免了"DLL Hell"。
6.COM+是在服务器端为实现高并发、跨机器边界或跨进程边界访问,而设计的一些COM组件的管件,简单点说它是在COM的基础上加了几层薄壳,能够放在COM+应用里的COM组件必须满足一些要求。.net是通过.net Remoting(现在用的少了)、WCF等机制,也是加一些管件的壳,跨机器边界呈现Service,比如Web Service。