最近在一个官方的。net框架博客中宣布。net Core将会开源。
具有讽刺意味的是,作者提到。net Core是什么将在下一篇文章中解释。更多细节将在另一篇公告中提及。
从提供的图表:
和文章文本本身,我认为。net Core(除了像开源这样明显的东西)是完整的。net的模块化重新实现。也就是说,框架组件是根据需要加载的,就像现在加载NuGet包一样。现在是ASP。NET 5是其中一个已经实现的模块。我对。net Core的理解正确吗?也许我遗漏了什么?
我发现了一篇最近的文章,我觉得既短又好。它涵盖了。net标准、。net核心和。net框架以及它们之间的关系。我强烈推荐它。
当前的文档很好地解释了。net Core是什么,需要使用的区域等等。.NET Core有以下特点:
Flexible deployment: Can be included in your app or installed
side-by-side user- or machine-wide.
Cross-platform: Runs on Windows,
macOS and Linux; can be ported to other OSes. The supported operating systems (OSes), CPUs and application scenarios will grow over time,
provided by Microsoft, other companies, and individuals.
Command-line tools: All product scenarios can be exercised at the command-line.
Compatible: .NET Core is compatible with .NET Framework, Xamarin and
Mono, via the .NET Standard Library.
Open source: The .NET Core
platform is open source, using MIT and Apache 2 licenses.
Documentation is licensed under CC-BY. .NET Core is a .NET Foundation
project.
Supported by Microsoft: .NET Core is supported by Microsoft,
per .NET Core Support
下面是。net Core包含的内容:
A .NET runtime, which provides a type system, assembly loading, a garbage collector, native interoperability and other basic services.
A set of framework libraries, which provide primitive data types, application 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' application host, which is used to launch .NET Core applications. 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.
微软认识到未来的网络开源模式,并决定向其他操作系统开放。net Core是Mac和Linux的。net框架。它是一个“轻量级的”. net框架,因此缺少一些特性/库。
在Windows上,我仍然会运行。net Framework和Visual Studio 2015. net Core对开源世界更友好,如Node.js, npm, Yeoman, Docker等。
你可以用Visual Studio Code + . net Core在Mac或Linux上开发成熟的网站和RESTful api,这在以前是不可能的。所以,如果你喜欢Mac或Ubuntu,并且你是一个。net开发者,那么就去设置它吧。
对于Mono和。net Core, Mono是作为Linux的。net框架开发的,现在被微软(Xamarin公司)收购,并用于移动开发。最终,微软可能会合并/迁移Mono到。net Core。我现在不会担心Mono。
当前的文档很好地解释了。net Core是什么,需要使用的区域等等。.NET Core有以下特点:
Flexible deployment: Can be included in your app or installed
side-by-side user- or machine-wide.
Cross-platform: Runs on Windows,
macOS and Linux; can be ported to other OSes. The supported operating systems (OSes), CPUs and application scenarios will grow over time,
provided by Microsoft, other companies, and individuals.
Command-line tools: All product scenarios can be exercised at the command-line.
Compatible: .NET Core is compatible with .NET Framework, Xamarin and
Mono, via the .NET Standard Library.
Open source: The .NET Core
platform is open source, using MIT and Apache 2 licenses.
Documentation is licensed under CC-BY. .NET Core is a .NET Foundation
project.
Supported by Microsoft: .NET Core is supported by Microsoft,
per .NET Core Support
下面是。net Core包含的内容:
A .NET runtime, which provides a type system, assembly loading, a garbage collector, native interoperability and other basic services.
A set of framework libraries, which provide primitive data types, application 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' application host, which is used to launch .NET Core applications. 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.
我今天试图在Visual Studio 2017中创建一个新项目(最近从Visual Studio 2015升级),并注意到项目类型的一组新的选择。它们要么是新的,要么是我已经有一段时间没有开始一个新项目了!!:)
我偶然发现了这个文档链接,发现它非常有用,所以我分享。文章中还提供了子弹的详细信息。我只是在这里列出一些要点:
You should use .NET Core for your server application when:
You have cross-platform needs.
You are targeting microservices.
You are using Docker containers.
You need high performance and scalable systems.
You need side by side of .NET versions by application.
You should use .NET Framework for your server application when:
Your application currently uses .NET Framework (recommendation is to extend instead of migrating)
You need to use third-party .NET libraries or NuGet packages not available for .NET Core.
You need to use .NET technologies that are not available for .NET Core.
You need to use a platform that doesn’t support .NET Core.
这个链接提供了一个。net术语表。
编辑10/7/2020
检查。net 5.0 - "…只要一个。net,你就可以用它来瞄准Windows, Linux, macOS, iOS, Android, tvOS, watchOS和WebAssembly等等。”
预计将于2020年11月上映。