手机版

ASP.NET核心综合素养贴纸

时间:2021-09-05 来源:互联网 编辑:宝哥软件园 浏览:

1.前言

已经十四年了。NET发布了。随着版本的不断迭代和更新,NET在Windows平台上的表现越来越好。可以说,Windows平台上几乎所有的应用类型都可以通过。NET。

在过去的14年里。NET在官方的支持下,除了一些“民间”版本之外,一直没能摆脱Windows平台的限制。“开源”和“跨平台”这两个词也是所有人的痛点。NET开发人员。最后,NET Core出现了,它允许开发人员在官方和社区的支持下脱离Windows,可以编写、调试和部署。macOS和Linux主流发行版上的. NET程序。

2.2简介。净核心

2.1.什么是网络核心

那个。NET Core是一个开源通用的开发框架,支持跨平台,即支持在Window、macOS、Linux等系统上开发部署,可用于硬件设备、云服务、嵌入式/物联网解决方案。的源代码。NET Core放在GitHub上,得到了微软官方和社区的支持。

它与传统的属于“子集-超集”关系。或者你可以简单地认为它是一个跨平台版本的。NET框架(基于BCL)。这是因为在当前版本(1.0)中,大多数核心代码都在。NET Core是从。NET框架,包括运行时和库(如垃圾收集、JIT、部分类型)。

图考:我只能感谢微软《CLR via C#》没有白看。我已经看了半年了。

的当前版本。Net Core 1.0是一个小核心,API和工具都不完整。但是,随着的不断完善。NET Core,互补的API和创新将被集成到。NET框架。也就是说,微软将更新。NET框架和。NET Core的同时。他们就像两个兄弟,一起努力致富(对谁?当然是。NET开发人员),来实现所谓的。NET标准2.0。

一个叫做。这里必须提到NET标准库。作为在上开发API的官方支持标准。NET平台,它需要。NET框架遵循向后兼容性。例如,NET Framwork 4.6支持。NET标准库1.3,NET framework 4 . 6 . 2支持。NET标准库1.5,以及。NET Core 1.0支持1.6标准。

最后展望如下:

2.2.净芯成分

.NET运行时

那就是CoreCLR。如前所述,CoreCLR和的CLR没有区别。NET框架,与进程管理、GC、JIT(RyuJIT编译器)相同,只针对服务器系统进行了优化。现在CLR和CoreCLR正在同步更新,但可以肯定的是CoreCLR是的未来。NET,CLR将作为一种兼容的手段而存在。

框架库,

那就是CoreFX。包括集合类、文件系统处理类、XML处理类、异步Task类等

软件开发工具包工具和语言编译器(软件开发工具包工具和编译器)

命令行界面工具和罗斯林编译器。它可以通过。NET核心软件开发工具包(。NET核心开发工具包)。

dotnet'app主机

用于选择和执行相应的运行时,提供程序集加载策略并启动。NET核心应用程序。SDK也是通过同一个程序启动的。

Tips:是否认为MSCorEE.dll是一个垫片,也承载着选择CLR版本的工作。NET在视窗平台上的应用

2.3.网芯特征

跨平台

它可以在Windows、macOS和Linux上运行

灵活的部署机制

1.便携式应用(便携式应用)

这种部署机制类似于传统的。NET框架,只要。目标平台上存在. NET核心运行时。

2.自包含应用程序(自托管应用程序)

顾名思义,这种部署机制将应用程序和运行时打包在一起,即使。目标平台上未安装. NET核心运行时

第二种方法也不同于。NET Native,它仍然使用CoreCLR,而。NET Native使用CoreRT作为运行时。详情请见dotnet/corert

命令行工具

的所有运行脚本。NET程序可以用命令行工具来执行。以下是一些常见的donnet命令

命令帮助dotNET new生成新的basic。net项目内容(包括project.json、Program.cs和NuGet.config dotNET还原还原被引用的NuGet包dotNET build to build。net项目dotnet发布以生成可分发的。net项目(包括其运行时)编译并运行。NET项目立即由dotnet运行(更适合exe项目)。dotnet repl指导互动对话。dotnet pack将项目的输出封装成NuGet包兼容性

兼容。NET框架,Xamarin和Mono通过。NET标准库

开源

那个。NET Core属于。NET基金会,并得到微软的官方支持。使用麻省理工学院和Apache 2开源协议,文档协议遵循CC-BY

2.4开发语言

版本1.0中唯一支持的编程语言。net核心是C#(F#和VB还没有实现)。这里还要提到一个开源语言编译器Roslyn,负责将代码编译成我们熟悉的IL语言,然后由AOT或者JIT编译器编译成机器熟悉的机器语言。

3.开始

以下内容演示了如何在Windows10和CentOS 7.2下的命令行上生成和发布演示

3.1胜10负

安装。NET核心软件开发工具包和。NET核心运行时。NET Core SDK=使用。NET核心进行开发和应用。NET核心运行时和软件开发工具包命令行界面工具

3.1.2简单操作结果

打开cmd,输入mkdir。项目,cd。\.依次运行project、dotnet new、dotnet restore和dotnet来运行第一个Hello World程序

3.2 CentOS 7.2(本地Hyper-V)

3.2.1安装和操作

详情请见:https://www.microsoft.com/net/core#windowsvs2015,总订单如下

sudo yum install lib under libi Cu # install lib under,libi Cu package curl-SSL-o https://go.microsoft.com/fwlink/? dotnet.tar.gz LinkID=809131 #下载dotnet-dev-centos-x64.1.0.0-preview2-003121.tar文件时,有时会因为网络问题导致下载速度较慢,可以耐心等待。当然,你也可以手动下载,放到目录里。sudomkdir-p/opt/dotnet sudotar zxf dotnet . tar . gz-c/opt/dotnet #创建一个目录并解压缩下载的文件sudoln-s/opt/dotnet/dotnet/usr/local/bin #将该目录链接到$PATH。否则,dotnet命令无法识别mkdir hwappcd hwappdotnet new #来创建默认值。NET Core,应用dotnet restore #还原依赖包dotnet run #,结果会显示Hello World!在第六行命令之后,您可以使用dotnet - info检查链接是否成功,如下所示。NET命令行工具(1 . 0 . 0-预览2-003121)产品信息:版本3360 1 . 0 . 0-预览2-003121提交SHA-1 has : 1e 9d 529 BC 5运行时环境:操作系统名称: centos操作系统版本333 607操作系统平台: Linux rid : centos.7-x64的上述步骤可以在的官方网站上找到。NET Core,可以看到应用程序在简单的dotnet new、dotnet restore和dotnet run命令后运行。但是这实际上类似于开发环境中的调试操作,此时new on win的应用不能跨平台直接在Linux下运行,所以我们不得不再次提到dotnet publish命令

3.2.2独立应用程序发布

(1)修改project.json文件

现在,我们根据win10中的步骤new将self应用于新的硬件控制台。根据官方文档的要求,我们需要用以下内容替换原始的project.json文件(删除‘type’:‘platform’,添加runtimes节点)

{ 'version': '1.0.0-* ',' build options ' : { ' debugType ' : '可移植',' emitEntryPoint': true ',' dependencies': {},' framework ' : { ' netcoreapp1 . 0 ' : { ' dependencies ' : { ' Microsoft。NETCore . App ' : { ' version ' : ' 1 . 0 . 0 ' } },Imports' :' dnxcore 50'},' runtime ' : { ' win 10-x64 ' 3360 { },# win10平台' centos.7-x64' 3360 {} # centos 7.2平台}}(2)执行还原和发布操作

然后执行dotnet restore命令来恢复平台。这一步需要很长时间。虽然只是两个平台,但第一次用了很长时间。然后进行dotnet publish-rcentos.7-x64-c的发布。

请参阅dotnet-publish中的dotnet publish说明将应用程序及其所有依赖项打包到一个文件夹中,准备发布

(3)在Linux平台上运行

完成上述操作后,我们只需要将发布的文件夹(bin/release/netcore app 1.0/centos7-x64/publish,含self.exe)上传到Linux根目录下的项目文件夹中,在Shell中输入指令即可

修改可执行权限后,就可以成功运行“Hello World”了,这就是我们的“自带应用”的部署方式

4.摘要

4.1结束

此时,对。NET Core已经走到了尽头。以上内容简要介绍了的组成和特点。NET Core,同时,它已经在Windows和Linux系统上成功运行了两种不同部署模式的示例。与之前的傻瓜部署相比。NET框架的新颖性。NET Core真的让我大放异彩。接下来,我还将记录对的学习。NET Core和ASP.NET Core。请指正。

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:ASP.NET核心综合素养贴纸是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。