What's the difference between SDK and Runtime in .NET Core?

What's the difference between SDK and Runtime in .NET Core?

Answer1

According to the .Net Core Guide, .NET Core is composed of the following items

  • A .NET runtime, which provides a type system, assembly loading, a garbage collector, native interop and other basic services.
  • A set of framework libraries, which provide primitive data types, app composition types and fundamental utilities.
  • A set of SDK tools and language compilers that enable the base developer experience, available in the .NET Core SDK.
  • The 'dotnet' app host, which is used to launch .NET Core apps. It selects the runtime and hosts the runtime, provides an assembly loading policy and launches the app. The same host is also used to launch SDK tools in much the same way.

The SDK is all of the stuff that is needed/makes developing a .NET Core application easier, such as the CLI and a compiler.

The runtime is the "virtual machine" that hosts/runs the application and abstracts all the interaction with the base operating system.

Only the latter is required to run the application, but the former is needed to develop the application.

Answer2

The software development kit (SDK) includes everything you need to build and run .NET Core applications, using command line tools and any editor (including Visual Studio).

The runtime includes just the resources required to run existing .NET Core applications,. The runtime is included in the SDK.

Answer3

Runtime: to run apps

SDK (Runtime + Tooling): to build and run apps

原文地址:https://www.cnblogs.com/chucklu/p/10405992.html