.NET SDK和.NET运行时实际包含哪些内容?

4

以下是我的假设和问题,请纠正我错误的地方:

1. .NET运行时是CLR,执行通用中间语言(CIL)字节码并执行垃圾回收等操作。没有.NET运行时,我们无法运行任何.NET程序。

2. .NET SDK 包含构建/开发.NET程序所需的所有内容。这就是为什么当我们安装像VS这样的IDE时,它会包括.NET SDK(其中也包括.NET Runtime)。

3. 这是否意味着.NET SDK 包含编译器和链接器?

4. .NET运行时是否包含加载器?

5. 基本的dll文件,如MSCorLib.dll是否包含在.NET SDK中?


2
(从记忆中 - 已经有一段时间了)运行时实际上包含C#和VB编译器,CLR的某些组件需要编译器可用。没有链接器。但是,你是对的,运行时是运行程序所需的。它包括核心部分(加载东西,进行垃圾回收,与操作系统交互等)以及完整的标准System.*程序集集合。MSCorLib程序集绝对是运行时的一部分。SDK包括面向程序员的工具以及示例等。运行时专注于用户,SDK专注于程序员。 - Flydog57
1个回答

0

.NET SDK或.NET Runtime中是否包含像MSCorLib.dll这样的dll,因为dll是动态加载的。 - user11680003
DLL(动态链接库)包含在SDK和运行时中。SDK还包括“IL反汇编器”等其他工具。DLL是动态加载的。如果您的应用程序使用了DLL,则它将被加载到RAM中。 - emert117
@secondImage:没有 MSCorLib,什么都无法运行;它肯定包含在运行时中。但是,正如我上面提到的,编译器也是如此。我很好奇,你为什么要问这个问题?SDK 和某些版本的 Visual Studio 是免费的。Visual Studio 为您提供了打包应用程序的工具,以便在安装了运行时的任何适当平台上运行它。一般来说,您不必太担心这个问题。 - Flydog57

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接