- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在 vb 和 asp 中 用 c# 生成的 .net 的 dll
来源 行了的 充和修改 1: 建立 c# 目 --using
System.Runtime.InteropServices;-- 注意 目必 含有接口,
其他 接口, 才可以在其他 言中用 com 件
--Guid 生成。若有多个 接口, 只要一个即可 --DispID(*) 如
果有多个函数可相 的在函数前面加
[DispId(2)],
[DispId(3)]
?。也可以不要--
[ClassInterface(ClassInterfaceType.None)] 在每个 体 前
加入,即可在开 境中得到方法提示
[DispId(1)]
void function1();2
:将
AssemblyInfo.cs
里的
[assembly: ComVisible(false)]
改
true-- 或 目属性 -> 用程序 -> 程序集信息 (I)...-> 使程序集 COM 可 中 3: 目 - 属性 -生成 -> com 互操作注册 (C) 中
4: 目属性的 出 型改 。生成解决方案。生成
件 *.dll *.tlb
手工注册 Com 方法:运行命令注册: regasm TestCom.DLL /tlb:TestCom.tlb
6:gacutil /I *.dll1
使用 C# 建立 .net dll1.1
建立 目
在.net 中新建一个项目: TestCom 。 1.2
实现 c# 类
在 class1.cs 文件中添加一个接口和一个类:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace TestCom
{[Guid("7D6791A2-5AE1-4894-B0BC-CF347014E980
")] // 工具 -> 创建 GUID 复制到本处 不能复制
AssemblyInfo 中的 GUID
[ComVisible(true)]
public
interface iClass1 // 必须定义接口函数
{
string test();
}
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
public
class Class1 :
iClass1
{
public
string test()
{
return
"ok";
}
}
}
注意接口和类上的属性,对 com 可见和生成 com 类型。
1.3
添加强名
Window 开始菜单 ->Microsoft Visual Studio 2010->Visual Studio Tools=>Visual Studio Command Prompt (2010) 进入 Vistual Studio
命令提示,使用 sn -k c:/myKey.snk 生成签名文件。
在项目上右键,点击属性,选择签名,选中为程序集签名,
选择 myKey.snk 文件。1.3. 补充修改 Assemblyinfo.cs 修改:
[assembly: ComVisible(true)]
false-->true
增加:
[assembly: AssemblyKeyFile("myKey.snk")]
自己的秘钥文
件
1.4
生成解决方案修改项目配置文件,项目 ->TestCom 属性
-> 生成 “为COM 互操作注册” ( 本机自动注册?)
在项目目录的 /TestCom/bin/Debug 中可以找到 TestCom.dll 。
至此, c# 生成的 .net
dll 已经完成。
2
生成和注册类型库
2.1
生成 tlb 类型库
在 Visual Studio 命令提示符下,切换到此目录。
输入 tlbexp TestCom.dll /out:TestCom.tlb ,提示成功导出 tlb 类型库文件。 2.2
注册类型库
输入 regasm TestCom.dll /tlb: TestCom.tlb /codebase ,将
类型库导入到注册表。 提示成功注册了类型, 说明操作成功,
此时 TestCom
.dll 可以作为一个 com 来使用。 2.3
添加 dll 到 GAC
输入 gacutil /i TestCom.dll ,将此 .net 程序集添加到 GAC 。说明: GAC 全称是 G
文档评论(0)