新聞中心
使用c#語言在.net平臺生成的dll是基于MSIL的二進(jìn)制代碼,通常情況下是無法被native的語言和程序調(diào)用的(例如vb,vc,delphi)。但是一般來說windows上native的程序都是可以直接使用com對象的。通過.net平臺提供的一些工具,可以為其偽造一個(gè)com接口并注冊到系統(tǒng)中。此時(shí),可以在native的程序里,通過這個(gè)偽com接口來實(shí)現(xiàn)此.net的dll的調(diào)用。

廣河網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),廣河網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為廣河上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的廣河做網(wǎng)站的公司定做!
vb調(diào)用C#類庫的方法步驟
1 使用C#建立.net的dll
1.1 建立項(xiàng)目
在.net中新建一個(gè)項(xiàng)目:TestCom。
1.2 實(shí)現(xiàn)c#類
在class1.cs文件中添加一個(gè)接口和一個(gè)類:
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Runtime.InteropServices;
- namespace TestCom
- {
- [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添加強(qiáng)名
選擇開始菜單中Vistual Studio目錄下的Vistual Studio Tools下的Vistual Studio 命令提示。使用sn -k c:\myKey.snk生成簽名文件。
在項(xiàng)目上右鍵,點(diǎn)擊屬性,選擇簽名,選中為程序集簽名,選擇myKey.snk文件。
1.4生成解決方案
在項(xiàng)目目錄的\TestCom\bin\Debug中可以找到TestCom.dll。至此,c#生成的.net dll已經(jīng)完成。
2 生成和注冊類型庫
2.1生成tlb類型庫
在Visual Studio命令提示符下,切換到此目錄。
輸入tlbexp TestCom.dll /out:TestCom.tlb,提示成功導(dǎo)出tlb類型庫文件。
2.2 注冊類型庫
輸入regasm TestCom.dll /tlb: TestCom.tlb /codebase,將類型庫導(dǎo)入到注冊表。提示成功注冊了類型,說明操作成功,此時(shí)TestCom .dll可以作為一個(gè)com來使用。
2.3 添加dll到GAC
輸入gacutil /i TestCom.dll,將此.net程序集添加到GAC。
3 vb調(diào)用C#類庫測試
3.1 創(chuàng)建vb項(xiàng)目
在vb中新建一個(gè)標(biāo)準(zhǔn)exe項(xiàng)目。
在項(xiàng)目菜單選擇引用,在彈出的引用com對象列表中找到TestCom,選上。
在窗體上拖放一個(gè)按鈕,雙擊按鈕,在按鈕事件里輸入代碼:
- Dim a As New TestCom.Class1
- MsgBox a.test
3.2 運(yùn)行程序
啟動(dòng)項(xiàng)目,點(diǎn)擊按鈕,彈出對話框ok,說明調(diào)用成功。
4 asp調(diào)用測試
4.1創(chuàng)建asp文件
在iis的根目錄下新建一個(gè)文本文件,改名為1.asp,輸入以下內(nèi)容:
- < %
- SET s = CreateObject("TestCom.Class1")
- Response.Write(s.test())
- %>
4.2 運(yùn)行程序
在ie中訪問此文件,頁面輸出ok,說明VB調(diào)用C#類庫調(diào)用成功。
【編輯推薦】
- C#自定義事件步步 通
- 如何在C#中使用存儲過程(SQL Server 2000)
- 存儲過程自動(dòng)轉(zhuǎn)成C#源碼過程
- C#事件處理和自定義事件
- 通過C#反射特性查看自定義特性
網(wǎng)站名稱:詳解VB調(diào)用C#類庫的方法步驟
URL標(biāo)題:http://fisionsoft.com.cn/article/dpjopsc.html


咨詢
建站咨詢
