CLR是如何被載入並工作的

2022-01-19 00:09:08 字數 767 閱讀 1453

當執行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載入應用程式域,而且還可以載入多個應用程式域,預設載入的應用程式域是被設定為"啟動專案"的那個。

在應用程式域內執行多個執行緒,有些執行緒是主線程,有些執行緒是工作執行緒。

vue檔案是如何被引用載入

1.2 vue檔案引用 在沒接觸vue教程時,比較好奇vue檔案是如何被引用的,後來系統地學習了一遍,雖然當時明白了,但還是記錄下,畢竟好記性不如爛筆頭 例子demo header article list li ul div footer div template import header fr...

bug是如何被修正的

copy了rumination on c 中的一段控制代碼類生成樹形表示式的程式,第一次匆匆的修正執行後隔了一段時間在第二次重新修正時仍然困難重重,這才了解以前沒有真確的掌握除錯的一些技巧,做個學習總結。源 部分如下 driver.cpp 驅動函式 expr.h 標頭檔案,包含有兩個類?控制代碼類e...

SSL是如何工作的

金鑰密碼系統介紹 這篇文章向大家闡述了netscape公司是如何使用rsa的公用金鑰密碼系統來實現網際網路安全的。netscape的安全套接層的實現就利用了這篇文章中所討論的技術。rsa的公用金鑰密碼系統廣泛地應用於計算機工業的認證和加密方面。netscape得到rsa資料安全公司的許可可以使用公用...