C#.NET开发过程中有时候会需要与其他语言对接,封装com组件是一种不错的方式,只要把类库设置成com组件并注册到系统中,这样就可以以COM组件的方式与其他语言交互,本文完整介绍了从com组件封装到com组件注册全过程。

首先我们需要新建.net framework类库项目。

然后右键项目属性,更改项目属性为COM组件,如下图。

封装COM组件代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.InteropServices;

using System.Text;

using System.Threading.Tasks;

namespace mycom

{

///

/// 每个COM类,都必须有一个接口定义,供其他语言调用。

///

[ComVisible(true),

Guid("e5de703f-cf41-1540-6608-ab2e160d622c"),

InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]

public interface IDemoCom

{

[DispId(1)]

int Add(int a, int b);

[DispId(2)]

double Add(double a, double b);

[DispId(3)]

long Add(long a, long b);

}

///

/// 继承接口,实现COM类

///

[Guid("4fef63b4-2745-97bc-2303-087341de71d3"),

ClassInterface( ClassInterfaceType.None),

ComSourceInterfaces(typeof(IDemoCom))]

public class DemoCom : IDemoCom

{

public int Add(int a, int b)

{

return a + b;

}

public double Add(double a, double b)

{

return a + b;

}

public long Add(long a, long b)

{

return a + b;

}

}

}注册COM组件时,要以管理员的身份运行cmd命令行,然后逐行运行如下代码。

定位路径:cd /d C:\Windows\Microsoft.NET\Framework64\v4.0.30319(Framework框架路径根据实际情况更改)开始注册:Regasm com组件路径.dll /tlb: mycom.tlb /codebase

com组件是.net c#语言所编写,所以目标电脑一定要先安装好对应版本的.net framework框架,否则会报找不到依赖环境。

top
Copyright © 2088 世界杯四强_世界杯裁判 - tylwn.com All Rights Reserved.
友情链接