Share via


決定要載入的執行階段版本

Common Language Runtime 使用下列資訊來決定要為應用程式載入哪一版的執行階段:

  • 可用的執行階段版本

  • 應用程式支援的執行階段版本

支援的執行階段版本

Runtime 使用應用程式組態檔和可攜式執行檔 (PE) 的標頭來判斷應用程式支援哪些執行階段版本。 沒有應用程式組態檔存在時,如果應用程式的 PE 檔案標頭中指定的執行階段版本可用的話,Runtime 就會載入該版本。

如果應用程式組態檔存在,則執行階段會依據下列處理序的結果來決定要載入的適當執行階段版本:

  1. Runtime 檢查應用程式組態檔中的 <supportedRuntime> 項目 項目。 如果 <supportedRuntime> 項目中指定了一個或多個支援的執行階段版本,Runtime 會載入第一個 <supportedRuntime> 項目所指定的執行階段版本。 如果無法使用這個版本,Runtime 會檢查下一個 <supportedRuntime> 項目並嘗試載入指定的執行階段版本。 如果這個 Runtime 不能使用,則會檢查後面的 <supportedRuntime> 項目。 如果沒有可用的受支援執行階段版本,Runtime 便無法載入執行階段版本並顯示訊息給使用者 (請參閱步驟 3)。

  2. Runtime 讀取應用程式可執行檔的 PE 檔案標頭。 如果 PE 檔案標頭指定的執行階段版本可用,Runtime 便會載入該版本。 如果無法使用指定的 Runtime 版本,Runtime 會搜尋 Microsoft 判斷可與 PE 標頭中的執行階段版本相容的執行階段版本。 如果找不到該版本,則繼續進行處理序的步驟 3。

  3. Runtime 顯示訊息,說明應用程式支援的執行階段無法使用。 不會載入 Runtime。

    注意事項注意事項

    您可以使用登錄機碼 HKLM\Software\Microsoft\.NETFramework 之下的 NoGuiFromShim 值,或者使用環境變數 COMPLUS_NoGuiFromShim 來隱藏這項訊息的顯示。例如,您可以隱藏通常不需與使用者互動的應用程式 (例如自動安裝或 Windows 服務) 的訊息。隱藏這項訊息之後,Runtime 就會將訊息寫入事件記錄檔。將登錄值 NoGuiFromShim 設定為 1 表示隱藏電腦上所有應用程式的這項訊息。或者,將 COMPLUS_NoGuiFromShim 環境變數設定為 1 表示隱藏特定使用者內容中所執行的應用程式的這項訊息。

注意事項注意事項

載入執行階段版本之後,組件繫結重新導向可以指定載入個別 .NET Framework 組件的不同版本。這些繫結重新導向只會影響被重新導向的特定組件。

請參閱

概念

組件繫結重新導向

找出執行階段版本資訊

設定組件繫結重新導向

並存執行