社区
C#
帖子详情
c#中如何做COM组件
dragonlaj
2004-04-29 11:25:23
请问大家,如何在c#中如何做COM组件, 将它在server注册后,CLIENT可以调动,我以前用的是VC, 用vc的ATL com来做。请大家帮助,请给一个demo
...全文
110
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
C#
Socket通讯框架,封装了Client和Server端类库,带实例
C#
Socket通讯框架,封装了Client和Server端类库,带演示实例和使用手册.
C#
远程桌面 远程控制
本程序为远程桌面,远程控制
组件
测试程序。使用屏幕驱动,屏幕压缩技术,网络平均数据量为10KB/S,屏幕静止时数据量几乎为零。
C#
Winform
组件
应用
以实例讲解
C#
WinForm编程时用到的
组件
的应用技巧。
windows Media Player控件类
windows Media Player控件类,主要为在VS
中
找不到ActiveX控件里的windows Media Player控件类所提供,里面有24类,版本较新.方法介绍:http://blog.csdn.net/akof1314/archive/2009/11/29/4900244.aspx
水晶报表的相关
组件
CrystalDecisions(13.0.5.891)
组件
下载
CrystalDecisions.CrystalReports.Engine.dll CrystalDecisions.ReportSource.dll CrystalDecisions.Shared.dll CrystalDecisions.Web.dll
C#
110,537
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章