如果以正確的通用語言執行平台 (CLR) 版本執行應用程式時發生問題,您可以檢視並偵錯 CLR 啟用記錄。 當您的應用程式載入不符預期的 CLR 版本,或完全不載入 CLR 時,這些記錄檔對判斷啟動問題的根本原因非常有幫助。 NET Framework 初始化錯誤:管理使用者經驗 會討論應用程式找不到任何 CLR 時的經驗。
使用 HKEY_LOCAL_MACHINE 登錄機碼或系統環境變數可以啟用全系統的 CLR 啟動記錄。 登錄項目或環境變數移除之前會一直產生記錄檔。 或者,您可以使用使用者或處理序本機環境變數,啟用不同範圍和持續時間的記錄。
CLR 啟動記錄檔不應該與assembly binding logs組件繫結記錄檔相混淆,兩者截然不同。
- 在 [登錄編輯器] 中,瀏覽至 HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFramework (32 位元電腦) 或 HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoft.NETFramework folder (64 位元電腦)。
- 新增名為 的字串值,將它設為現有目錄的完整路徑,這是您要儲存 CLR 啟動記錄的目錄。
啟動記錄會一直保持啟用,直到您移除字串值為止。
- 將 環境變數設為字串,代表現有目錄的完整路徑,這是您要儲存 CLR 啟動記錄的目錄。
環境變數的設定方式會決定其範圍︰
- 如果設定在系統層級,就會為該電腦上的所有 .NET Framework 應用程式啟用啟動記錄,直到移除環境變數為止。
- 如果設定在使用者層級,就只為目前的使用者帳戶啟用啟動記錄。 環境變數移除之前,會一直記錄。
- 如果載入 CLR 之前,從處理序中設定它,就會啟用啟動記錄直到處理序終止為止。
- 如果執行應用程式之前,在命令提示字元中設定它,就會啟用從該命令提示字元執行的所有應用程式的啟動記錄。
例如,您要先啟動記錄儲存在處理序層級範圍的 c:clrloadlogs 目錄中,開啟 [命令提示字元] 視窗並鍵入下列命令,才能執行應用程式︰
CLR 啟動記錄檔會提供大量有關 CLR 啟動的資料和裝載 API 的 CLR 用法。 此資料大部分是由 Microsoft 內部使用,但某些部分也對開發人員很有用,如本文所述。
記錄會反映裝載 API 之 CLR 的呼叫順序。 它也包含電腦上偵測到有關已安裝執行階段組的有用資料。 CLR 啟動記錄格式不是其本身的記錄,但可用來協助需要解決 CLR 啟動問題的開發人員。
在下例的啟動記錄中,最有用的資訊會在記錄後反白顯示及描述。
- CLR 載入記錄提供可執行檔路徑,啟動載入 Managed 程式碼的處理序。 請注意,這可能是原生的主機。
- 已安裝的執行階段是安裝在電腦上用來啟動要求的一組備選 CLR 版本。
- 以版本建置是建置二進位檔所用的 CLR 版本,二進位檔會提供給類似 ICLRMetaHostPolicy::GetRequestedRuntime 的方法。
- 功能隨選安裝指的是在 Windows 8 上啟用 .NET Framework 3.5。 如需此案例的詳細資訊,請參閱 .NET Framework 初始化錯誤:管理使用者經驗。
- [部署]
- 如何設定應用程式以支援 .NET Framework 4 或更新版本
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/4501.html