我在c#里写了一个ClassLibrary1类库, 声明一个接口,再实现该接口。
在程序集信息里已经勾选了使COM可见。   
然后对此编译成功的DLL【beep_Class.dll】进行处理,打开vs2005自带的命令行工具。输入 tlbexp beep_Class.dll
   问题:1,vs2005自带的命令行工具是视图中的 命令窗口?
         2,我在命令窗口里面 执行了 tlbexp beep_Class.dll,总是说命令“tlbexp”无效。
         3, 环境变量是不是需要设置下,对于这个不是了解
 

解决方案 »

  1.   

    只听过dephi编写的给C#用。
    你说的我第一次听过。
    真能这样那就好了!
      

  2.   

    不是吧 网上多文章多说Dephi可以调用C#的dll
      

  3.   

    DLL应该是可以通用的,只要使用的类型是标准类型
      

  4.   

    楼主看看这个,是不是你调用出问题了http://www.fff8.org/Article/2009/20090924001542.htmlhttp://hi.baidu.com/yxbsmx/blog/item/cbd2c6bf3d82bf0219d81ff1.htmlhttp://topic.csdn.net/u/20080530/17/391602e2-166c-4914-b40f-42b6025b6c9f.html
      

  5.   

    using System;
    using System.Collections.Generic;
    using System.Text;
    //using System.Runtime.InteropServices;
    namespace ClassLibrary1
    {
        //[ClassInterface(ClassInterfaceType.AutoDual)]
        public class Class1
        {
            public int add(int a, int b)
            {
                return a * b;
            }
        }
    }然后设置为COM注册
    保存,打开AssemblyInfo.cs,修改[assembly: ComVisible(true)]
    生成,VB引用bin\Release下的tlb
    调用
    Set o = CreateObject("ClassLibrary1.Class1")
    MsgBox o.Add(1, 2)//VB6这样调用C#的,DEL就不知道了试试看?