轉換為 Managed 裝載程式碼
載入和初始化 Common Language Runtime 之後,主應用程式 (Host) 必須將 Unmanaged 程式碼轉換為 Managed 程式碼,才能執行 Managed 裝載程式碼和使用者程式碼。 在舊版的 .NET Framework 中,Managed 裝載程式碼通常會在預設的應用程式定義域中執行,而 .NET Framework 2.0 版則提供了基底類別 (Base Class) AppDomainManager 來實作 Managed 裝載程式碼,該程式碼會自動載入處理序內建立的每個應用程式定義域。
主應用程式會設定其應用程式定義域管理員、將它載入預設的應用程式定義域中,並藉由呼叫 IHostControl::SetAppDomainManager 方法 取得指向其介面的指標。 傳回的介面可用於執行 Managed 程式碼。 主應用程式的設計者會定義這個介面,因此可以確定有多少程式碼要在 Unmanaged 主應用程式內執行,以及有多少程式碼要在應用程式定義域管理員內執行。
注意事項 |
---|
在 .NET Framework 1.0 和 1.1 版中,主應用程式會藉由呼叫 ICorRuntimeHost::GetDefaultDomain 方法 取得指向預設應用程式定義域的介面指標。此呼叫會傳回一個 _AppDomain 介面指標,該指標會指向代表預設應用程式定義域之 AppDomain 類別的執行個體 (Instance)。主應用程式接著會使用 AppDomain 類別的 Load 方法,將主應用程式的 Managed 部分載入預設定義域中。 |