熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET技巧:非托管COM組件的使用

2013-11-13 10:06:52  來源: .NET編程 

  眾所周知是基於通用語言運行庫創建的也就是所謂的托管執行環境生成的代碼稱為托管代碼編譯器能夠從源代碼的描述中產生元數據信息而運行庫又從元數據中獲得托管代碼的信息而我們編寫的組件一般是在非托管環境下創建的這些組件往往不包含元數據信息那麼我們怎麼在托管代碼中使用這些元數據信息呢?

  為了在托管環境中使用非托管代碼我們首先必須手工為這些現有的組件產生元數據信息必須有一種工具能夠產生元數據能夠從某個地方獲得元數據這個元數據的發源地就是類型庫事實上今天所有的組件都有一個類型庫

  這裡為了說明如何產生元數據信息我們不妨以Microsoft Agent組件為例進行說明這個組件類似於Office的小助手它能夠完成各種豐富多彩的人性化的動作並且支持語音識別和語音合成一般的操作系統 都默認安裝了這個組件用戶該不會發愁沒有這個組件吧如果你的系統刪除了這個組件你可以到去下載下面開始介紹如何在中使用非托管COM組件

  首先是創建元數據

  Microsoft Agent控件默認是安裝在%systemroot%\msagent\目錄下首先運行開始菜單中Visual StudioNET Command Prompt(命令提示)菜單項在這個目錄執行下面的命令

  tlbimp agentctldll /out: agentctl_proxydll

  通過這個命令我們可以創建一個包含元數據信息的代理文件agentctl_proxydll注意這並不是一個真正的動態連接庫文件而是一個裝配文件(Assembly)也就是我們非托管COM組件的代理

  也可以通過NET框架提供的實用程序aximpexe創建命令行如下這樣它會生成兩個文件如下圖所示注意AgentObjectsdll 和agentctl_proxydll文件是完全一樣的文件

  C:\Program Files\Microsoft Visual Studio \VC>aximp %systemroot%\msagent\agentctldll

  命令行如下,這樣它會生成兩個文件,.NET編程免費提供,內容來源於互聯網,本文歸原作者所有。

推薦文章
Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.