社区
C#
帖子详情
c#中如何做COM组件
dragonlaj
2004-04-29 11:25:23
请问大家,如何在c#中如何做COM组件, 将它在server注册后,CLIENT可以调动,我以前用的是VC, 用vc的ATL com来做。请大家帮助,请给一个demo
...全文
133
4
打赏
收藏
c#中如何做COM组件
请问大家,如何在c#中如何做COM组件, 将它在server注册后,CLIENT可以调动,我以前用的是VC, 用vc的ATL com来做。请大家帮助,请给一个demo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jon1283
2004-05-09
打赏
举报
回复
步骤
请看这个例子:
using System;
using System.IO;
using System.Text;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
namespace Csic
{
// 首先建立接口,这个是Com必须使用的
[Guid("61BB24CB-4C2C-40f8-9E13-1AC5E558D56A")]
public interface IEncrypt
{
string Encrypt(string pToEncrypt,string sKey);
string Decrypt(string pToDecrypt,string sKey);
}
// 写接口的实现
[Guid("CB52E990-185E-4448-A7E8-C88ECAD563AB")]
public class Crypt : IEncrypt
{
public string Encrypt(string pToEncrypt,string sKey)
{
// 加密代码
}
public string Decrypt(string pToDecrypt,string sKey)
{
// 解密代码
}
}
}
把上面的文件保存成vs.net项目的一个类库工程。
然后使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符
在命令行内打下
cd c:\ <回车>
sn -k myKey.snk<回车>
就在C盘根目录下生成一个名叫myKey.snk的强名称文件,然后关闭提示符窗口。
在vs.net的那个类库工程自动生成的AssemblyInfo.cs文件内把
[assembly: AssemblyKeyFile("")]
改成
[assembly: AssemblyKeyFile(@"C:\myKey.snk")]
把[assembly: AssemblyVersion("1.0.*")]
改成
[assembly: AssemblyVersion("1.0.0.0")] // 注意:这时你的Com组件版本为1.0.0.0版
然后按Shift + Ctrl + B键生成dll库(使用Release模式),假设是Csic.Crypt.dll。
这时候,程序集就建立成功了。
二、注册该程序集并创建一个类型库
仍然使用开始菜单中的Vistual Studio .Net命令提示符
进入你的项目目录,假设为D:\myProject\bin\Release
在对话框中输入
d:<回车>
cd myproject\bin\release<回车>
然后输入 dir 命令可以看见Csic.Crypt.dll文件
然后输入:regasm /tlb:Csic.Crypt.tlb Csic.Crypt.dll<回车>
然后就在这个目录下生成了Csic.Crypt.tlb类型库文件。不要关闭此提示符窗口。
这时候,这个.dll的.net程序集就变成一个标准的Com组件了,但是还不能用,必须让它变成全局Com组件。
这个regasm 实用程序将创建一个类型库并在 Windows 注册表中对其进行注册,以使此.dll 中的类对 COM 客户端可用 。
三、 将程序集添加到全局程序集缓存中
进入提示符窗口,输入
gacutil /I Csic.Crypt.dll<回车>
这时,你的这个dll就被复制到全局程序集缓存中了。也就是说无论在这个电脑的哪个硬盘上都可以使用此dll组件了。
newman0708
2004-04-29
打赏
举报
回复
学习
dragonlaj
2004-04-29
打赏
举报
回复
www
CMIC
2004-04-29
打赏
举报
回复
用C#创建COM对象
http://www.csdn.net/Develop/Read_Article.asp?Id=25284
vb 调用
c#
做
的
com
组件
本文介绍如何通过创建
C#
COM
组件
并将其暴露给VB等其他语言进行调用的方法。主要内容包括设置
C#
项目的
COM
可见性、生成TLB文件,并在VB
中
引用及调用这些
组件
。
Qt
做
大型软件开发技术选型Part2:Qt调用
C#
编写的
COM
组件
本文讲述了在Qt重构项目
中
,如何解决Qt调用
C#
编写的
COM
组件
的问题,包括位数兼容、
COM
组件
注册与注意事项。重点介绍了技术选型:为何选择C++和32位开发,以及确保进程间通信的策略。
.net反射技术的应用—如何调用Java的
COM
接口
博主
做
银行电子支付接口时,遇到在
C#
中
调用Java的
COM
组件
方法的问题。因Java的
COM
在windows上注册后无动态链接库,无法直接用反射调用。后参考ASP调用方式,在VB
中
实验成功,封装成类库后在
C#
中
调用成功,分享此案例供大家参考。
C#
生成
COM
控件
本文详细介绍如何使用
C#
在Visual Studio 2010
中
创建
COM
组件
,包括项目设置、编码规范、注册流程等关键步骤,适用于希望将
C#
应用与传统
COM
环境集成的开发者。
C#
111,132
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章