在阅读特罗尔森的书“专业C# 5.0和.NET 4.5框架”时,我偶然发现了这两个术语。我或多或少理解什么是公共语言运行库,但是".NET运行时“和公共语言运行库是一样的吗?
我想是的。
发布于 2013-05-05 22:08:40
公共语言运行库是.NET运行库的特定实现,但也有其他实现-即the Mono runtime。
发布于 2013-05-06 09:59:41
在standard ECMA-335中定义的公共语言基础结构描述了其他内容:
VES在这个列表中脱颖而出(它不是通用的),并且是对假想的运行时系统的描述。实际的运行时实现通常称为公共语言运行时(CLR),但这个术语没有出现在ECMA-335中。
.NET框架、.NET微框架、XNA微框架、Silverlight、Mono等。每个平台或框架实现CLR的一个或多个版本。
还有Microsoft CLR (又称.NET CLR),通常称为.NET运行时。还有一个Mono CLR,通常称为Mono运行时。还有Silverlight CLR和.NET Compact CLR。
由于Microsoft CLR是第一个也是最知名的CLR,因此不加限制地使用术语CLR通常指的是没有特定版本的.NET运行时。但是CLR不是.NET运行时的具体实现...这是另一种方式。
发布于 2013-05-06 06:41:05
CLR是.NET程序所需的运行时支持的一部分。这是主要的一部分,但不是唯一的部分。您始终会在.NET进程中加载一组本机DLL。您可以通过打开非托管调试,项目+属性,调试选项卡,勾选“启用非托管代码调试”来查看它们。启动后,您可以在Debug + Windows + Modules窗口中看到那些DLL。
我将记录.NET 4.5版的名称:
()函数。
您还将看到一组从c:\ Windows \system32加载的‘ll,即Windows操作系统’ll。重要的是ntdll.dll、kernel32.dll和user32.dll。在一个典型的.NET过程中有更多的东西。您不能真正将它们算作.NET运行时组件,因为Windows中的每个进程都将使用这些组件。
https://stackoverflow.com/questions/16385316
复制相似问题