gpt4 book ai didi

.net - ".NET Core"是什么?

转载 作者:行者123 更新时间:2023-12-03 04:00:37 24 4
gpt4 key购买 nike

最近在官方.NET Framework Blog据宣布.NET Core is going open source .

讽刺的是,作者提到什么 .NET Core 将在下一篇文章中解释。 another announcement post中提到了更多细节。 .

来自提供的图表:

.NET Core diagram

以及文章文本本身,我认为 .NET Core(除了开源等显而易见的事情之外)是完整 .NET 的模块化重新实现。 IE。框架组件根据需要加载,就像现在加载 NuGet 包一样。现在 ASP.NET 5 是已经实现的模块之一。我对.NET Core的理解正确吗?也许我错过了什么?

<小时/>

我找到了a recent article我发现它既短又非常好。它涵盖 .NET Standard、.NET Core 和 .NET Framework 及其关系。我强烈推荐它。

最佳答案

来自 .NET 博客 Announcing .NET 2015 Preview: A New Era for .NET :

.NET Core has two major components. It includes a small runtime that is built from the same codebase as the .NET Framework CLR. The .NET Core runtime includes the same GC and JIT (RyuJIT), but doesn’t include features like Application Domains or Code Access Security. The runtime is delivered via NuGet, as part of the [ASP.NET Core] package.

.NET Core also includes the base class libraries. These libraries are largely the same code as the .NET Framework class libraries, but have been factored (removal of dependencies) to enable us to ship a smaller set of libraries. These libraries are shipped as System.* NuGet packages on NuGet.org.

还有:

[ASP.NET Core] is the first workload that has adopted .NET Core. [ASP.NET Core] runs on both the .NET Framework and .NET Core. A key value of [ASP.NET Core] is that it can run on multiple versions of [.NET Core] on the same machine. Website A and website B can run on two different versions of .NET Core on the same machine, or they can use the same version.

简而言之:首先是 Microsoft .NET Framework ,它由执行应用程序和库代码的运行时以及 nearly fully documented 组成。 standard class library .

运行时是Common Language Runtime ,它实现了 Common Language Infrastructure ,适用于 The JIT compiler运行CIL (formerly MSIL) bytecode .

考虑到 .NET 的历史和目的,Microsoft 的 .NET 规范和实现非常以 Windows 和 IIS 为中心,并且“臃肿”。有variations with fewer libraries, namespaces and types ,但其中很少有对 Web 或桌面开发有用的或 troublesome to port from a legal standpoint .

因此,为了提供可以在非 Windows 计算机上运行的非 Microsoft 版本的 .NET,必须开发一种替代方案。为此,不仅需要移植运行时,还需要移植整个框架类库才能得到广泛采用。最重要的是,为了完全独立于 Microsoft,需要一个针对最常用语言的编译器。

Monoruntime 的少数几个(如果不是唯一的)替代实现之一。 ,它运行在除 Windows 之外的各种操作系统上, almost all namespaces from the Framework Class Library as of .NET 4.5和一个VBC# compiler .

进入 .NET Core:runtime 的开源实现,以及一个最小的基类库。所有附加功能均通过 NuGet 包提供,通过应用程序本身部署特定的运行时、框架库和第三方包。

ASP.NET Core 是 MVC 和 WebAPI 的新版本,与瘦 HTTP 服务器抽象捆绑在一起,在 .NET Core 运行时上运行 - 但也在 .NET Framework 上运行。

关于.net - ".NET Core"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26908049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com