共用方式為


將 Common Language Runtime 載入處理序

更新:2007 年 11 月

主應用程式必須先載入和初始化 Common Language Runtime,然後才能夠執行任一 Managed 程式碼。因為執行階段還沒有在處理序中執行,所以所有主應用程式都是使用 Unmanaged Stub 啟動。.NET Framework 提供了一組主應用程式 (Host) 可用來啟動執行階段的 Unmanaged API,稱為裝載 API。如需詳細資訊,請參閱裝載介面

若要將執行階段載入處理序 (Process) 中,主應用程式需要呼叫 CorBindToRuntimeEx 函式 函式。CorBindToRuntimeEx 函式 的原型 (Prototype) 位於 Windows Software Development Kit (SDK) 中 Include 目錄內的 Mscoree.h 檔案中。主應用程式會使用 CorBindToRuntimeEx 函式 來控制要載入哪一個執行階段版本,以及基本功能 (例如記憶體回收和載入組件) 的行為。主應用程式可以設定的值已列於下表中。

說明

並行的記憶體回收

指定記憶體回收是否要在幕後執行緒上進行,或者在執行使用者程式碼的執行緒上執行。

載入器最佳化

控制組件是否要以應用程式定義域中性方式載入。以應用程式定義域中立的方式載入組件,可以讓 JIT 編譯的組件程式碼和唯讀的執行階段資料結構,在處理序中的所有應用程式定義域之間共用。

如需詳細資訊,請參閱應用程式定義域和組件

伺服器或工作站

指定是要載入執行階段的工作站組建 ("wks") 還是伺服器組建 ("svr")。

版本

指定要將哪一種版的執行階段載入處理序。若要載入 1.0 版,請使用 "v1.0.3705"。若要載入 1.1 版,請使用 "v1.1.4322"。若要載入 2.0 版,請使用 "v2.0.50727"。處理序只能載入一個執行階段版本。

如需詳細資訊,請參閱並存執行

CorBindToRuntimeEx 函式 會使用三個額外的參數:包含 ICLRRuntimeHost 介面之物件的 CLSID (即 CLSID_CLRRuntimeHost)、此介面的 IID (即 IID_ICLRRuntimeHost) 以及接收 ICLRRuntimeHost 指標的 [out] 參數。

注意事項:

如果是 1.0 和 1.1 版,使用 CLSID_CorRuntimeHost 和 IID_ICorRuntimeHost 可取得 ICorRuntimeHost 介面。

使用 ICLRRuntimeHost 可啟動執行階段、執行 Managed 程式碼、取得指向 ICLRControl 介面的指標 (該介面可存取 Common Language Runtime 實作的管理員),以及註冊會實作 IHostControl 介面的主控制項物件。Common Language Runtime 會呼叫 IHostControl 來決定主應用程式要實作哪些管理員。

請參閱

概念

轉換為 Managed 裝載程式碼

參考

AppDomainSetup

CorBindToRuntimeEx 函式

ICLRRuntimeHost

ICLRControl

其他資源

裝載 Common Language Runtime