【转】Aspnet Core为什么支持跨平台

1.框架决定--因为代码运行需要环境,有了能够运行在 Windows和Linux下面的 CLR.
2.netCore有了个 kestrel(具体的解释去查询下).跨平台的适用于ASP.NET Core的WEB服务器。角色类似 IIS,他不是IIS, 简单的说 kestrel的性能高,功能少,在Linux下性能更高,不支持反向代理。

先来看一下.NET Framework和Core的大体结构

NET Framework本身是个"跨Windows"的平台, 而在这个基础上, 又支持C#和VB等语言进行 "跨语言",

这些语言都遵守CLS, 编译成CIL执行. 从我们多层架构设计的角度来看, 只换最底层, 还是很可行的.

.NET Core 重做了一个CoreCLR的运行时,以及一个叫做CoreFX的BCL. 这里要说一下, ASP.NET Core 完全作为 NuGet 包的一部分提供。

这样一来,可以将应用优化为只包含必需 NuGet 包, 使应用更加灵活、模块化的同时提高性能.

.NET Core通过实现.NET Standard与 .NET Framework做兼容.

至于跨平台, 因为90%的CoreFX代码都是与平台无关的

https://www.cnblogs.com/huaan011/p/12204883.html

https://blog.csdn.net/webdaoyang/article/details/79958098

原文地址:https://www.cnblogs.com/hycms/p/12670115.html