国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

CLR是如何被加載并工作的

2019-11-17 02:42:47
字體:
來源:轉載
供稿:網友

CLR是如何被加載并工作的

當運行Windows應用程序的時候,CLR總是默默地為服務著。CLR到底是如何被加載并運行呢?

首先,Microsoft專門為CLR定義了一個標準的COM接口。

安裝某個版本的.NET Framework,CLR被包含在DLL中,作為COM服務器在Windows注冊表中注冊。

一臺電腦上可能安裝多個版本的CLR。打開開發人員命令提示,輸入CLRVer.exe,可以看到當前電腦上安裝的CLR版本。

比如,在C:/Windows/Microsoft.NET/Framework/v2.0.50727文件夾中,CLR被包含在mscorwks.dll中;在C:/Windows/Microsoft.NET/Framework/v4.0.30319文件夾中,CLR被包含在clr.dll中。

當雙擊一個應用程序,就啟動一個獨立的Windows進程,在.NET最新版本文件夾中有一個類似MSCoreEE.dll的組件去讀取應用程序的.NET版本,然后把對應的某個CLR版本加載到進程中。總之,CLR是寄宿在進程內的。

一個進程中可以有幾個CLR版本嗎?從.NET 4.0起,就可以在一個進程中加載多個CLR版本,而且還不會造成兼容性的問題。

CLR是什么時候卸載的?只有當終止進程的時候才能卸載CLR。

CLR加載mscorlib中所有的程序集。

CLR加載托管堆。

CLR加載應用程序域,而且還可以加載多個應用程序域,默認加載的應用程序域是被設置為"啟動項目"的那個。

在應用程序域內運行多個線程,有些線程是主線程,有些線程是工作線程。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三原县| 枣庄市| 阿坝| 怀宁县| 武川县| 嘉义县| 深水埗区| 平泉县| 泰兴市| 贵溪市| 类乌齐县| 陈巴尔虎旗| 临桂县| 宜州市| 乃东县| 永福县| 昔阳县| 娱乐| 含山县| 克什克腾旗| 渝中区| 绥滨县| 闽侯县| 紫金县| 特克斯县| 桃源县| 冕宁县| 四会市| 凤冈县| 喜德县| 桐柏县| 济宁市| 阿尔山市| 松桃| 安远县| 资源县| 兴业县| 阿合奇县| 新晃| 新晃| 资源县|