.NET Core 1.0 简介






4.38/5 (38投票s)
在 .NET Framework 上工作多年后,现在是 .NET Core 的时候了。有什么变化,为什么会变化?在这篇文章中,让我们来了解一下。
Content
- .NET Core 是什么
- 这个框架有什么新东西?
- 开始使用 .NET Core
- 使用 CLI 开发示例 Web 应用程序
.NET Core 是什么?
这是一个全新的框架,与 .NET 4.6(Visual Studio 2015)并行从头开始开发的。之前它被命名为 .NET 5.0。因此,开发者之间存在一个误解,认为这个框架是 .NET 4.6 的继承者,但事实并非如此。它是一个完全从头构建的新框架。
图片来源:https://blogs.msdn.microsoft.com
正如你所见,随着这个新框架的发布,许多新东西被添加进来,例如 CoreCLR 和 CoreFX 取代了我们传统的 CLR 和 FCL,它们被绑定到 Windows 平台。
CoreCLR 主要包括垃圾回收器、JIT 编译器、基础 .NET 数据类型以及许多低级类。
在 .NET Core 之上是 ASP.NET Core 1.0,然后是 ASP.NET Core MVC。
关于这个框架,市场上有很多讨论,下面是我们得到的结果 J
这个框架有什么新东西?
1) 跨平台
![]() ![]() ![]() |
众所周知,.NET Framework 只能在 Windows 平台上运行。但是对于在其他平台上工作的开发者呢?他们使用了 Mono Framework,这是一个开源框架,与 .NET Framework 兼容。它不是微软的产品,但微软支持这个框架。随着不同平台开发者数量的增长,让 .NET Framework 能够跨平台工作变得至关重要。
Windows 的开发者能够使用最强大的 IDE,即 Visual Studio 来开发他们的应用程序。但是对于 Linux 或 Mac 的开发者呢?他们没有像 Visual Studio 这样的 IDE。这个框架的一个好消息是,不再需要 Visual Studio 进行开发。你可以使用任何编辑器进行开发,并通过控制台执行。
为了使其能够跨平台工作,微软构建了一套新的运行时和库,称为 CoreCLR 和 CoreFX,它们针对每个平台进行了编译并生成了构建版本。
通过使 .Net Core 成为跨平台,微软移除了与 IIS 紧密绑定的“System.Web”,并将其改为“Microsoft.AspNetCore”,这将适用于所有平台托管环境。
2) 开源
随着世界朝着开源方向发展,微软将这个框架完全开源。源代码也可以在 GIT 上找到。你现在可以根据自己的需要轻松地自定义这个框架。
3) 优化的 .NET 运行时和库
随着这些变化,微软还对其在安装 .NET Framework 时在 GAC 中提供的库进行了更改。
我可以想到的一个例子是“System”库。
“System”库包含许多逻辑库,例如 System.IO、System.Net、System.Configuration 等,每次使用“System”库时都会加载到内存中。但你认为当只需要一部分时,是否需要加载整个库?假设我只需要 System.IO,那么我的项目应该只引用 System.IO 而不是整个 System。为了使其轻量级和优化,.NET Core 现在支持每个逻辑库的 NuGet 包,并且它们将不再从 GAC(仅在 Windows 平台上可用)引用。
4) CLI 简介
.NET Core 还引入了一个名为 dotnet.exe 的命令行应用程序。
此应用程序将允许我们
- 创建应用程序
- 执行应用程序
- 运行中间语言
- 托管 CLR
适用于任何平台。
5) 完全模块化
每次在 .NET Framework 的任何组件中添加新功能时,微软都会发布新版本。例如,对于 ASP.NET MVC,在 ASP.NET MVC 4 中引入了一个路由概念,该概念存在于 Visual Studio 2012(.NET Framework 4.5)中。但随着 ASP.NET MVC 5,他们引入了一个称为属性级路由的功能,该功能已添加到 Visual Studio 2013(.NET Framework 4.5.1)中。这类组件的更改可能导致引入新的框架版本。但现在这些都消失了。有了 .NET Core,一切都是 NuGet 包。升级组件变得非常容易,因为它将引入 NuGet 包的发布,而不是整个框架。这使得一切都模块化。
6) 云就绪环境
使用 .NET Core,我们可以构建云端互联网连接应用程序,如 Web 应用、物联网应用和移动后端。
入门
下载并按照 .NET Core 在每个平台的安装步骤进行操作。
此框架默认不与 Visual Studio 一起提供。它作为单独的安装添加,需要 Visual Studio 2015 更新 3,或者你可以只下载独立的 .NET Core SDK。但在未来的版本中,它可能会集成到 Visual Studio 安装程序中。
使用 CLI 开发示例 Web 应用程序
在“dotnet”命令行应用程序之前,在 .NET Core RC1 和 ASP.NET Core RC1 中,我们有 dnx 工具用于开发和启动应用程序。这个 dnx 工具包含 3 部分——
dnvm - Dotnet 版本管理器 - 用于获取 dnx 版本的安装程序
dnu - Dotnet 工具 - 用于管理依赖项、构建和发布应用程序的工具
dnx - Dotnet 执行运行时 - 用于执行代码。
但后来这些工具被集成到单个 .NET Core 命令行应用程序中,即——**dotnet**
让我们一步一步地了解“dotnet”工具如何帮助我们开发应用程序。
初始设置
安装完 .NET Core 后,通过打开命令提示符并键入 **dotnet** 来测试它。
步骤 1- 打开命令提示符并转到要存储项目相关文件的目录。
步骤 2- 输入命令
开发控制台应用程序,
>dotnet new –lang C#
解释
- new 命令用于创建项目。默认情况下,它会添加一个 Program.cs 和 project.json 文件。
- C# 指定要使用的编程语言。(其他可用选项是 F#。VB 尚不可用)
开发 Web 应用程序,
>dotnet new –lang C# -t web
注意:有一点需要记住,使用 .NET Core,我们可以开发控制台或 Web 应用程序。截至今天,我们无法创建 Windows 应用程序。
输出
该文件夹将包含所有文件。
步骤 3- 我不会对代码做任何更改,而是使用命令添加项目中的所有依赖项。
>dotnet restore
此命令将还原 project.json 文件中添加的所有依赖项。即——解压 NuGet 包内的所有依赖库并还原。
然后此命令创建一个新文件 **project.lock.json**,其中包含解压的依赖库名称和版本。
步骤 5- 使用命令构建应用程序
>dotnet build
步骤 6:运行应用程序
>dotnet run
此命令将在控制台中托管服务器并为我们提供运行应用程序的端口。我们现在可以打开浏览器并输入 https://:5000
然后网站将开始运行。
输出
步骤 7- 发布代码
>dotnet publish
此命令将发布 Web 应用程序。
结论
在这篇文章中,我试图向你解释 .NET Core 有哪些变化以及为什么会发生这些变化。
在下一篇文章中,我将解释 ASP.NET Core MVC 的结构变化和新增功能。希望你喜欢这篇文章。请评论好坏。分享有价值,无论是什么。谢谢。
Shivprasad Koirala 有一个很棒的视频,详细解释了 .NET Core。注意:(视频中的一些部分现在已更改,请在我的文章中查看)