【问题标题】:what does .NET SDK and .NET runtime actually contain?.NET SDK 和 .NET 运行时实际上包含什么?
【发布时间】:2020-01-02 06:08:16
【问题描述】:

以下是我的假设和问题,如果我错了,请纠正我

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

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

3. .NET SDK 是否包含编译器和链接器?

4. .NET Runtime 是否包含加载程序?

5. .NET SDK 中是否包含 MSCorLib.dll 等必要的 dll?

【问题讨论】:

  • (从内存中 - 已经有一段时间了) 运行时实际上包含 C# 和 VB 编译器,一些 CLR 组件要求编译器可用。没有链接器。但是,你是对的,运行时是运行程序所需要的。它包括核心部分(加载、执行垃圾收集、与操作系统交互等)以及全套标准 System.* 程序集。 MSCorLib 程序集绝对是运行时的一部分。 SDK包括面向程序员的工具以及示例等。运行时以用户为中心,SDK以程序员为中心

标签: c# .net sdk


【解决方案1】:
  1. 是的

  2. 是的

  3. 是的

  4. 是的

  5. 是的

SDK 包含 Runtime 所拥有的一切。

我向你推荐这本书“CLR via C#”https://www.amazon.com/CLR-via-4th-Developer-Reference/dp/0735667454

【讨论】:

  • 是 .NET SDK 或 .NET Runtime 中包含的 MSCorLib.dll 之类的 dll,因为 dll 是动态加载的。
  • DLL 包含在 SDK 和运行时。 SDK 中包含额外的工具,例如“IL Disassembler”。 DLL 是动态加载的。如果您的应用使用 DLL,则它会被加载到 RAM 中。
  • @secondImage:没有 MSCorLib,什么都不会运行;它肯定包含在运行时中。但是,正如我上面提到的,编译器也是如此。我很好奇,你问这个干嘛? SDK 和 Visual Studio 的某些版本是免费的。 Visual Studio 为您提供了用于打包应用程序的工具,以使其在安装了运行时的任何适当平台上运行。一般来说,您不必为此担心太多。
猜你喜欢
  • 2018-05-23
  • 2011-01-04
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多