![](/img/trans.png)
[英]How to create a custom .NET base class library (BCL) aka mscorlib replacement?
[英].NET Execution Engine and BCL (Base Class Library) cooperation
目前,我正在讀一本由Andrew Troelsen和Philip Japikse撰寫的名為.NET和.NET Core的C#Pro 7,作為我編程理論的補充。 目前讓我感到好奇的主題是帶有.NET基類庫(例如mscorlib.dll)的協作.NET執行引擎(mscoree.dll)。
有人可以告訴我,在編譯成指令集平台期間,我們的解決方案代碼與BCL交互的原因是什么?
“在需要時,CLR還將與.NET基類庫中包含的類型進行交互。”此語句的“必需”部分究竟是什么意思? 因為這又是我想以正確的方式理解的事情:)
我剛開始讀這本書。 可能您已經找到了答案,但是對於好奇的人,我將投入兩分錢。
為了使編譯后的代碼在平台上運行,應將其編譯為特定於平台的指令。 但是在此之前,應將代碼編譯為MSIL文件。 對於應用程序代碼,每次進行更改時都會生成此MSIL文件,並且發生在CLR之前。 對於BCL,已經存在程序集(MSIL文件),並且在CLR中應僅將它們加載到內存中。 因此,運行時引擎確定應將哪些確切的程序集轉換為特定於平台的指令,然后將其加載到內存中。
所以
如果需要,CLR還將與.NET基類庫中包含的類型進行交互
這意味着它將查看代碼中引用了BCL中的哪些類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.