文件要满足示例所示的逻辑格式
其中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,否则请核实。