.NET组件和COM组件有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (55)

.NET组件和COM组件之间有什么区别,有时我们使用.NET组件包含在我们的项目中,有时候我们会包含COM参考。有什么想法?

提问于
用户回答回答于

.NET组件是托管代码(内存处理是为您完成的)

COM是软件组件的接口标准。COM组件是非托管代码(使用引用计数执行内存处置)。

这里开始

COM和.NET如何相关? COM和.NET是互补的开发技术。.NET公共语言运行时提供了与COM的双向,透明集成。这意味着COM和.NET应用程序和组件可以使用每个系统的功能。这可以保护您在COM应用程序中的现有投资,同时允许以受控的速度利用.NET。COM和.NET可以实现类似的结果。.NET Framework为开发人员提供了许多好处,包括更强大的基于证据的安全模型,自动内存管理和原生Web服务支持。对于新的开发,Microsoft建议.NET作为首选技术,因为其强大的托管运行时环境和服务。

用户回答回答于

COM组件是非托管C ++代码组件,旨在使软件在二进制级别可重用。NET组件类似,尽管1)它们可以在CLR语言上创建,而COM组件只能用C ++构建2)它们是为了在受管理的运行时间下运行。我认为这些是本质区别。

C ++是COM中最“自然”的语言,但COM组件可以用许多种语言创建。感谢评论人。

扫码关注云+社区