C# COM組的開發以及調用

1、用C#編寫一個COM組件緩存

1.       打開Visual Studio2008,[文件]->[新建]->[項目]spa

 

 

2.       項目類型=Visual C#,模版=類庫,名稱=MyCom,解決方案=MyCom,點擊[肯定]命令行

 

3.       編輯Main.cs3d

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyCom
{

    public interface MyInterface
    {
        int add(int a, int b);

        string sayHello(string msg);

        string mergeString(string a, string b);
    }

    public class MyClass : MyInterface
    {
        public int add(int a, int b)
        {
            return a + b;
        }

        public string sayHello(string msg)
        {
            return "Hello, " + msg;
        }

        public string mergeString(string a, string b)
        {
            return a + b;
        }
    }
}

  

4.       編輯AssemblyInfo.cs文件code

將assembly:ComVisible(false)改成trueblog

// 將 ComVisible 設置爲 false 使此程序集中的類型
// 對 COM 組件不可見。若是須要從 COM 訪問此程序集中的類型,
// 則將該類型上的 ComVisible 屬性設置爲 true。
[assembly: ComVisible(true)]

在[應用程序]選項卡中點擊[程序集信息…]開發

勾上[使程序集COM可見],而後點擊[肯定]string

在[生成]選項卡上勾上[爲COM互操做註冊]it

在[簽名]選項卡中勾上[爲程序集簽名],選擇下拉框中的<新建…>io

祕鑰文件名稱=MyCom,去掉[使用密碼保護密鑰文件]的勾,點擊[肯定],最後保存

6.       生成Dll,tld文件,選擇菜單欄上的[生成]->[生成MyCom],進入項目的根目錄下的bin\Debug目錄會發現MyCom.dll, MyCom.pdb, MyCom.tlb文件已經生成

7.       註冊MyCom.dll文件,進入SDK命令行,CD到MyCom工程的根目錄下的bin\Debug目錄

而後運行regasm MyCom.dll /tlb:MyCom.tlb命令

下面用regedit命令進入註冊表,查看HKEY_CLASSES_ROOT下的MyCom.MyClass已經存在了,則說明已經完成註冊。

再繼續運行gacutil –i MyCom.dll將程序集添加到緩存中

到此爲止MyCom這個COM組件的開發已經完成了。

相關文章
相關標籤/搜索