现在的位置: 首页 > 综合 > 正文

c#创建com组件过程概要

2014年03月23日 ⁄ 综合 ⁄ 共 921字 ⁄ 字号 评论关闭
出处:http://abeln.bokee.com/viewdiary.11421127.html

文件要满足示例所示的逻辑格式

其中sk.snk由sn.exe产生,即sn -k sk.snk

guid由guidgen.exe产生,分别标识接口id和类id
//bb.cs        
using System;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Runtime.CompilerServices;

[assembly: AssemblyKeyFile("sk.snk")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace myNamespace{
 [Guid("1CFC458F-640D-4c5d-8F61-F7ABA70839B6")]
 public interface ifce{
  void setString(string s);
  string getString();
 }

 [Guid("7C93C4BE-1111-4ee7-996E-0F3F5C27F82A")]
 public class xiaobao:ifce{
 private string Str;
  public xiaobao(){Str = "";}
  public xiaobao(string ss){Str = ss;}
  public string getString(){return Str;}
  public void setString(string s){Str = s;}
 } 

}

 

编译及注册

csc /t:library /out:bb.DLL bb.cs
tlbexp bb.dll /out:bb.tlb
regasm /tlb:bb.tlb bb.dll
gacutil /I bb.dll

 

测试

建立.vbs文件,其中输入

set obj = createobject("myNamespace.xiaobao")
obj.setString("success")
msgbox obj.getString
set obj = nothing

保存后双击运行之,有对话框弹出则ok,否则请核实。
 

抱歉!评论已关闭.