在 Internet Explorer 中的資訊: 原生 COM 可呼叫.NET 與控制

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:317346
本文已封存。本文係以「現狀」提供且不會再更新。
結論
--正在 System.Windows.Forms.UserControl 類別的子類別.NET 類別--.NET 使用者控制項 類別的執行個體可以裝載在 Microsoft Internet Explorer 中 5.01 稍後兩種不同的方式: 直接 透過 [.NET 執行階段或 間接,當作 COM Interop 物件。您採取哪一種方法,取決於應用程式的需求。
其他相關資訊
大部分的開發人員都偏好使用針對 OBJECT] 標籤的多載的語法如下
<OBJECT id="Obj1" classid="Assembly.dll#Full.Namespace.ControlName">				
其中 Assembly.dll 」 是虛擬,相對或絕對路徑包含您的控制項之.NET 組件,而 Full.Namespace.ControlName 」 是完全合格的命名空間參考至您想要裝載的控制項。

這種用法是非常強大,因為使用新的零影響融合技術,啟用而不需要任何次要的資訊寫入使用者的登錄的組件安裝來安裝.NET 組件。若要更新控制項是越簡單越下載新的複本 (這在執行階段會自動處理的) ; 從電腦移除很簡單,例如從融合下載快取移除組件。

不過,因為安全性考量的這種用法有重要限制: 您可以載入 Web 伺服器上裝載的控制項。若嘗試從檔案系統或全域組件快取載入在 Internet Explorer 中的 使用者控制項 將會失敗。如果您的應用程式在本機執行從 CD-ROM 或使用者的硬碟,或商務需求聽寫您想要使用的控制項被放置於全域組件快取,這會妨礙您。

在這種情況下,您可以編譯您的控制項支援 COM Interop 和主機它在 Internet Explorer 內好像它是一個經典 ActiveX 控制項。這需要您指派全域唯一識別項 (GUID) 至每個 COM 可呼叫的物件使用 GuidGen.exe 公用程式和.NET Framework 中定義的 GuidAttribute 中繼資料屬性。之後,您可以使用 Microsoft Windows 安裝程式 (MSI) 在使用者的目標電腦上安裝您的組件,並註冊為 COM 物件。
参考
如需有關如何準備的 Interop 組件的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 û 工 u 具 ã 網路 (MSDN) 網站:
範例 COM 類別 (C#)
http://msdn.microsoft.com/en-us/library/aa287552(VS.71).aspx
逐步解說: 使用 Visual Basic.NET 中建立 COM 物件
http://msdn.microsoft.com/en-us/library/x66s8zcd(VS.71).aspx
附註在 Internet Explorer 中,而不是在其他較早版本 (傳統) COM 容器,並支援 Interop 裝載.NET 使用者控制項 的成員。

如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
311334支援.NET 控制項的資訊: ActiveX 控制項容器
Interop

警告:本文為自動翻譯

內容

文章識別碼:317346 - 最後檢閱時間:02/24/2014 15:41:11 - 修訂: 5.3

Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.0, Microsoft Internet Explorer 5.01, Microsoft Internet Explorer 5.5, Microsoft Internet Explorer (Programming) 6.0

  • kbnosurvey kbarchive kbmt kbcominterop kbctrl kbinfo KB317346 KbMtzh
意見反應