.net组件与COM组件有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/05/14 15:11:10
.net组件与COM组件分别是什么啊,有什么区别?望大家帮忙解决下,谢谢!

.NET组件可以分为两大类:共享的.NET组件和私有的.NET组件。

共享的.NET组件需要通过标准公开关键字密码技术来保证自身的唯一性,在这一点上面比较类似于COM的全球唯一ID号码GUID。但是,我们在可能的情 况下应当尽量避免使用共享的.NET组件,因为这样将会有可能再一次的陷入目前在视窗系统下长期困扰开发人员的“DLL地狱”。

私有的.NET组件是我们将会经常使用的.NET组件方式,在这种方式之下,我们发布.NET组件需要做的只是简单的进行拷贝操作就可以了,仿佛回到了远古的DOS时代了,在也不必关心纷繁复杂的系统注册表了,也不必担心DLL的版本被覆盖等等的问题了。

而COM组件是微软曾经力推了很多年的一种代码复用的技术框架,在这些年里也得到了极大的发展和应用,但它的弊端却也日益明显,我们不得不面对众多的 COM组件之间的版本控制和令人恐怖的DLL地狱,还有注册表、GUID等等。在我们安装一个软件的同时,也带来了大量的我们所未知的版本繁多的COM组 件到我们的操作系统中。

参考资料:http://www.enet.com.cn/article/2007/0929/A20070929848809.shtml

  COM组件是以前微软推荐的;
  COM组件是非托管对象,可以不需要.net框架而直接运行。
  .NET组件是现在微软推荐的;
  .NET组件是托管对象,必须有.net框架才能运行。
  二者都可以实现组件的重用,最大的区别是现在的.NET组件解决了版本问题,也就是说允许多个不同的版本的同一组件在一台机器上安装,而这个是以前COM组件的致命问题。

.NET组件可以分为两大类:共享的.NET组件和私有的.NET组件。

共享的.NET组件需要通过标准公开关键字密码技术来保证自身的唯一性,在这一点上面比较类似于COM的全球唯