社区
C#
帖子详情
COM组件和.NET组件有什么区别?
empty890
2007-07-18 09:02:14
如题,希望能解释的清楚点
...全文
723
25
打赏
收藏
COM组件和.NET组件有什么区别?
如题,希望能解释的清楚点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
飞跃
2011-06-21
打赏
举报
回复
嗯,受教了,还在找这方面的资料呢
justin_zeng1986
2011-05-16
打赏
举报
回复
学习学习!!
shoushii
2007-07-18
打赏
举报
回复
mark study
blankfang
2007-07-18
打赏
举报
回复
学习
CyberKnightGIC
2007-07-18
打赏
举报
回复
差别太大了,我说几点:
1.数据结构:COM组件是二进制的数据,.Net组件使用的是IL,因此需要.Net Framework.
2.内存管理:还记得COM的AddRef和Release吗?:), .Net是托管的,因此有GC
3.Metadata: .Net的元数据包含了丰富的类型信息,因此你或者Compiler可以用反射提供诸如智能提示,方法调用等等一系列的功能
4.安全:.Net提供强类型程序集,需要Public Key, 语言,程序名和版本号来唯一确定某个特定的 .net组件,查找组件的位置有一套机制。 COM仅仅依靠注册表和dll文件名来确定组件,因此,DLL Hell的问题出现了 :)
还有很多,呵呵,最本质的还是存储结构和运作方式上的不同
LutzMark
2007-07-18
打赏
举报
回复
组件对象模型(COM , Component Object Model) 让你直接和API打交道
COM与.NET
蓝屏与抛异常
非托管与托管
提升了安全又不影响性能,.net就是在COM基础上的进步
F15Eagle
2007-07-18
打赏
举报
回复
这一帖星光灿烂啊,关注……
lovingkiss
2007-07-18
打赏
举报
回复
嗯,这个问题是的,忘记了——是,COM组件删除是经常遇到问题的。
而且非常常见
amandag
2007-07-18
打赏
举报
回复
组件是通过接口访问的
=====================
只订立规范,不定义具体该如何做
amandag
2007-07-18
打赏
举报
回复
使用起来——没啥差别,版本问题,一般本来也不是特别常见,大家很少一台机器弄个多个版本的系统的。
==================================
不是这个意思,如果A开发了组件com1,B的应用程序用到了com1开发了程序Bcom,这时候A又升级了版本到com1.1,C的应用程序用到了com1.1开发了程序Ccom,那么用户D上面如果先装Ccom,再装Bcom,就会出现旧版本的组件替换新版本的组件的问题(相信大家以前都见过这样的提示信息),而且用户D在两个应用程序都安装好无论删除那一个都有可能出现另一个运行不了,因为共享的组件被删除了
empty890
2007-07-18
打赏
举报
回复
组件是通过接口访问的,这个能解释下吗??
[̲̅孤̲̅单̲̅一̲̅吻̲̅]
2007-07-18
打赏
举报
回复
楼上说的也是一点,嘿嘿
冷月孤峰
2007-07-18
打赏
举报
回复
com组件是非托管对象,可以不需要.net框架而直接运行,而.net组件是托管对象,必须有.net框架才能运行
lovingkiss
2007-07-18
打赏
举报
回复
使用起来——没啥差别,版本问题,一般本来也不是特别常见,大家很少一台机器弄个多个版本的系统的。
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
Email:loving-kiss@163.com
本人说明:<我的帖子我做主,结贴率保持100%>
优惠接单开发,信誉保证,Q64180940(请清楚注明业务还是技术咨询)
==================================================================
amandag
2007-07-18
打赏
举报
回复
COM组件是以前微软推荐的东东
.NET组件是现在微软推荐的东东
都可以实现组件的重用,最大的区别是,现在的.NET组件解决了版本问题,也就是说允许多个不同的版本的同一组件在一台机器上安装,而这个是以前COM组件的致命问题
真相重于对错
2007-07-18
打赏
举报
回复
com 是为实现二进制复用的一种技术,windows操作系统是多任务的,也就有不同应用程序之间交互的问题,一开始windows采用dde方式,后来改用ole也就是com的前身,在发展就是com ,之后又是com+ , 再就是 .net.
因为是为了不同的应用程序通讯,而不同的语言开发的程序模型是打不相同的,例如同样是c++
vc 和 bc 类的实现方式就不一样。所以采用接口调用。
com 是非常复杂的技术,了解它可以看看《com 本质论》和《com 原理》
.net 组件和com组件不仅是版本控制问题,有专家说.net是更好的com,我觉的.net与com的最大区别在于.net是自描述的,也就是说你拿到一个.net 的dll ,这个dll就包含了它所提供的类型信息的标准描述。所以使用者直接引用即可。
而com是同一种复杂的技术达到使用者来了解一个com组件具体提供了什么方法,什么属性,脚本语言可以使用自动化方式,而象c++等则通过tlb等来了解更简单
SassyBoy
2007-07-18
打赏
举报
回复
名字已说明一切~~
Fan52027
2007-07-18
打赏
举报
回复
Mark
mpss
2007-07-18
打赏
举报
回复
受教了
hamehameha
2007-07-18
打赏
举报
回复
学习
加载更多回复(5)
.NET
组件
和
COM
组件
之间的相互操作
.NET
组件
可以分为两大类:共享的
.NET
组件
和私有的
.NET
组件
。
COM
组件
的技术优势也是明显的,在很大的程度上实现了Windows平台下的代码复用,所以我们才会提出这样的一个话题,如何才能在
.NET
技术日臻成熟的情况下,...
Cell
组件
C#
.net
演示程序
Cell
组件
C#
.net
演示程序 Cell
组件
C#
.net
演示程序
ASP
.NET
实战-零基础"抄近路"驾驭ASP
.NET
网站开发
2、ASP
.NET
支持三种不同的开发模式: Web Pages(Web 页面) MVC(Model View Controller 模型-视图-控制器) Web Forms(Web 窗体) 3、IIS服务器: IIS(Internet Information Services)是微软的Internet服务器 IIS...
.net
Loghelper小
组件
.net
Loghelper小
组件
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章