什么是COM组件以及怎样创建(C#)?

什么是COM组件?

        1.COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。

        2.COM组件是一些小的二进制可执行文件,必须以二进制的形式发布。

        3.COM组件可以给应用程序、操作系统以及其它组件提供服务。

        4.自定义的COM组件可以在运行时刻同其它组件连接起来构成某个应用程序。

        5.COM组件必须是动态链接的。

使用COM组件需要注意:1.必须要保证升级应用时不破坏与以前版本的向后兼容性;2.必须要做到扩展系统服务时不依赖于特定的操作系统。

        COM组件不是一种计算机语言;

        COM组件不是DLL,只是利用DLL来给组件提供动态链接的能力;

        COM组件不是API函数集;

        COM组件不是类;

        COM组件中的接口是一组由组件实现的,提供给客户使用的函数(在COM中的接口是一个包含函数指针数组的内存结构,数组元素是一个由组件实现的函数地址)。DLL的接口就是它所输出的函数。

COM组件创建的步骤

        1.在项目“ConsoleApp”右击,选择“属性”

        2.选择“应用程序”。如果不是代码需要,目标框架尽量选择较低,便于选择支持更多版本的操作系统。输出类型选择“类库”,目的是将一个封装好的DLL注册到系统中。

        3.选择“生成”。目标平台有两种,x64和x86。主要区别在于注册时使用的工具和使用COM组件的软件限制。如,若你的程序需要使用到COM组件,而你当前的应用程序属于32位,那么你需要将你的目标平台设置为“x86”,否则将不能使用,会出现报错信息。反之,如果你的应用程序是64位,那么你需要将你的目标平台设置为“x64”。只有这样,才能正确使用COM组件。

        在Visual Studio2019中,为了对“x86”和“x64”的应用程序进行兼容,可以将目标平台设置为“Any CPU”。

        如果勾选了“为COM互操作注册”,在Visual Studio中可以自动将“生成”好的DLL注册到系统中(需要使用管理员权限)。如果需要把这个DLL注册到另一台计算机上,需要手动使用CMD命令注册(有32为注册和64位注册两种方式)。

 

        4.选择“签名”。要生成COM组件,必须创建签名。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值