新建Asp.Net注意問題及其功能介紹
新建Asp.Net是通過語言的基礎上而來的,就是所謂的開發環境,編制生成的代碼稱為Asp.Net代碼。Asp.Net編譯器可以從源代碼中讀取相關信息,而Asp.Net運行庫又從元數據中獲得托管代碼的信息。
雨楓技術教程網 雨 楓技 術 教程 網雨楓技術教程網 眾所周知,asp.net是基于通用語言運行庫創建的,也就是所謂的托管執行環境。生成的代碼稱為托管代碼。編譯器能夠從源代碼的描述中產生元數據信息,而運行庫又從元數據中獲得托管代碼的信息。而我們編寫的組件一般是在非托管環境下創建的,這些組件往往不包含元數據信息,那么我們怎么在托管代碼中使用這些元數據信息呢?
為了在托管環境中使用非托管代碼,我們首先必須手工為這些現有的組件產生元數據信息。新建Asp.Net必須有一種工具能夠產生元數據。能夠從某個地方獲得元數據。這個元數據的發源地就是類型庫,事實上,今天所有的組件都有一個類型庫。
這里為了說明如何產生元數據信息,我們不妨以Microsoft Agent組件為例進行說明。這個組件類似于Office的小助手,它能夠完成各種豐富多彩的人性化的動作,并且支持語音識別和語音合成。一般的操作系統 都默認安裝了這個組件,新建Asp.Net用戶該不會發愁沒有這個組件吧。如果你的系統刪除了這個組件,你可以http://microsoft.com/msagent/downloads.htm去下載。下面開始介紹如何在asp.net中使用非托管COM組件。
首先是創建元數據
Microsoft Agent控件默認是安裝在%systemroot%\msagent\目錄下,新建Asp.Net首先運行開始菜單中Visual Studio.NET Command Prompt(命令提示)菜單項。在這個目錄執行下面的命令。
tlbimp agentctl.dll /out: agentctl_proxy.dll
通過這個命令我們可以創建一個包含元數據信息的代理文件agentctl_proxy.dll。注意這并不是一個真正的動態連接庫文件,而是一個裝配文件(Assembly),也就是我們非托管COM組件的代理。 #t#
也可以通過.NET框架提供的實用程序aximp.exe創建,命令行如下,新建Asp.Net這樣它會生成兩個文件,如下圖所示:注意AgentObjects.dll 和agentctl_proxy.dll文件是完全一樣的文件。C:\Program Files\Microsoft Visual Studio 9.0\VC>aximp %systemroot%\msagent\agentctl.dll