CLR 版本偵測技術範例
更新:2007 年 11 月
這個範例將示範如何偵測電腦上所安裝之 .NET Framework Common Language Runtime (CLR) 的版本。
如需使用這些範例的詳細資訊,請參閱下列主題:
若要使用 Visual Studio 建置範例
開啟 [Windows 檔案總管],並巡覽至 CLRVerSample 目錄的 CP 子目錄。
按兩下 CLRVerCP.sln 的圖示,即可在 Visual Studio 2005 中開啟該檔案。
在 [建置] 功能表上,按一下 [建置方案]。
若要執行範例
在 [命令提示字元] 視窗中,巡覽至包含新可執行檔的目錄。
在命令列中輸入 CLRVer.exe。
需求
**.NET Framework 版本:**2.0、1.1
Microsoft Visual Studio 2005
這些範例需要 Windows 標頭,如果您使用 Microsoft Visual Studio 2005 (Visual Studio 2005 命令提示字元),或已安裝並在 Include 路徑中指定 Platform SDK,專案即可使用這些標頭。
備註
此範例僅適用於 C++。這個範例程式碼會呼叫定義於 mscoree.h 的 Unmanaged API (包含在 Windows Software Development Kit (SDK) 安裝目錄下的 \include 子目錄中),以列出安裝在此本機電腦上的 CLR 版本。
這個範例會呼叫 Unmanaged GetRequestedRuntimeInfo 函式 方法,該方法則會傳回已載入處理序之 CLR 版本的相關資訊。這項資訊不一定會顯示安裝於此電腦上的最新 CLR 版本。
在 .NET Framework 2.0 版中,您可以對 GetRequestedRuntimeInfo 函式 參數指定下列值以取得最新安裝的 CLR 版本:
將前三個參數指定為 null。
針對 runtimeInfoFlags 參數所指定 RUNTIME_INFO_FLAGS 列舉型別 (Enumeration) 中的 RUNTIME_INFO_UPGRADE_VERSION 旗標。
在下列狀況下,GetRequestedRuntimeInfo 函式 方法可能不會傳回最新的 CLR 版本:
當存在用來指定載入特定 CLR 版本之應用程式組態檔時。請注意即使 pConfigurationFile 參數是指定為 null,.NET Framework 也會使用這個組態檔。
當已呼叫 CorBindToRuntimeEx 函式 以指定舊版的 CLR 時。
當目前執行的應用程式是針對舊版的 CLR 所編譯時。