.NET6 如期⽽⾄

.NET6

大家好,经过多个月的迭代,.NET 6正式版如期和大家见面了!你安装好了吗?还是等等党?希望看完这篇文章你会对.NET 6有更多了解。

自2014年11月12日宣布开源后,.NET就成为了一个跨平台、面向多场景的技术。换句话说,你可以在传统的Windows上安装.NET,也可以在Linux,macOS下安装.NET并进行云原生、桌面、移动应用、大数据、机器学习、游戏、物联网的开发。这次更新也围绕这些场景,为不同行业进行赋能。

d973784628a1f607ec823c718788ad15.png

.NET 6是一个LTS版本,意味着你除了可以稳定地使用外,还可以得到安全和补丁更新。根据.NET官网上的资料,.NET 6在2023年11月前都会得到维护,所以大家可以安心使用。

3c5690f18436e6ce85d3c39747cde1a8.png

如果你还没有/准备安装.NET 6,请点击以下链接

https://aka.ms/InstallD

a69df2597e60f6ecade3462230361433.png

(扫码打开链接)

.NET6 有不少更新,针对不同应用场景都有很多亮点,下面进行一些归纳:

1.

Minimal API

Minimal API 是构建 HTTP 服务的另一种方法。在.NET 6通过 web 模板创建的项目都会使用Minimal API。这里需要说明⼀点:Minimal API不会取代大家熟悉的MVC框架。如果你的应用是希望构建API,建议使用web模板的方式去构建。但如果你需要更多与 ASP.NET页面相关的东西建议还是使用MVC模板。

dotnet new web -o webapidemo

看看默认Program.cs程序结构

var builder = WebApplication.CreateBuilder(args); 

var app = builder.Build();

app.MapGet("/",()=>"Hello World!"); 

app.Run();

你可以用四行代码快速完成一个API功能。当然你可以基于你的需要去添加MVC模块,验证模块等,这就看项目的需要了。

更多关于Minimal API ,请点击以下链接

https://aka.ms/LearnDN001

e53ad7c48424a4e116782d776ed4c21e.png

(扫码查阅更多Minimal API信息)

2.

热更新

在之前发布封版前,热更新成为了热门话题,微软作为一个商业公司能够针对社区的要求,为.NET 6 保留社区所需是非常赞的。这对于微软和开源社区接触也是一件好事。

我们先来认识下热更新,最早期热更新主要是面向移动应用,特别iOS应用更新的一种最常见的方式。不少开发者通过动态下发代码,它可以在不发布新版本的情况下,修复 BUG 和发布功能,让开发者得以绕开苹果的审核机制,避免因长时间审核等待以及多次被拒造成的成本。我记得.NET应用热更新场景也是在Xamarin下,慢慢地大家就希望如果代码编写能实现热更新,就可以减少编译的时间,即所见即所得。

在.NET 6 你可以通过Windows下的Visual Studio 2022 实现,也可以通过CLI方式实现。

通过命令行执行相关的HotReload 非常简单,你只需要在对应项目中执行一下命令就可以为你的Web应用实现HotReload了

dotnet watch run

当然你也可以通过以下命令停止HotReload的功能

dotnet watch run --no-hot-reload

a83474e387d899215d79d7cb00c62919.png

更多关于.NET CLI HotReload ,请点击以下链接查阅

https://aka.ms/LearnDN002

6a98fecb52f54d12f213afdd2da12258.png

(扫码查阅更多.NET CLI HotReload信息)

3.

MAUI

关于MAUI,我对它的感情是非常深,从早期的monotouch到Xamarin,再到现在的MAUI。有人会觉得微软放弃了Xamarin,但是我觉得完全并入到.NET 6正是微软重视Xamarin的表现,我记得在7月Reactor的.NET Day上讨论过MAUI的架构,你会发现它是.NET 6最重要的⼀环。

1c7267ebcc66cef9430d0daa435857f3.png

你直接可以通过命令⾏构建你的MAUI项⽬

dotnet new maui -o mauidemo

从不少资料上你可以了解到MAUI对Xamarin的控件做了重新的封装,实现更高效能。但我想和大家回顾下当时MAUI发布就有一个令我喜欢的功能,那就是在Visual Studio Code上Debug MAUI,这得益于新的项目结构,但更重要是它终于让MAUI的开发更加极客了。但现在 MAUI的正式版还没有release,但我在Github上找到一个类似的项目可以给大家先体验一把 (https://github.com/Clancey/vscode-comet)

更多关于MAUI ,请点击以下链接查阅

https://aka.ms/LearnDN003

0d75b88d8344cd80d9f349752bc57776.png

(扫码查阅更多MAUI信息)

4.

关于workload

随着.NET应用场景的增加,不同的用户需要的支持不尽相同,例如我专注于 MAUI的应用,这个时候我就需要iOS、macOS、Android的支持,但默认情况下是没有做相关的SDK添加的。因为如果全部场景的功能都合并到SDK,就变成一个巨物了,从编译到部署都是非常麻烦的。.NET团队致力于维护SDK的小而精,针对不同场景在.NET 6中增加了workload去为不同场景做量身定制。

当我通过 dotnet new maui 的时候,在默认情况下是没有new maui的template的,而且也不会含有相关的一些SDK,这个时候系统会教你通过查找的方式去确认是否有官方或者地方的template。

77f99e289276e9289b107dbd9f713b87.png

通过命令⾏执行以下操作

dotnet workload install maui

可以把MAUI所需要的SDK安装起来,并添加好基于dotnet new maui的模板,真的非常方便和人性化,这样可以减少.NET SDK一些不必要的安装,太棒了。

4fb1c95a3016edcca8beec6c71908473.png

你可以通过执行以下语句查看相关的workload有哪些

dotnet workload search

4c20936621c626db880567ecc825c26f.png

现在的场景有针对MAUI和Blazor的场景希望日后会添加更多的场景,满足更多的需要。

更多关于dotnet workload ,请点击以下链接查阅

https://aka.ms/LearnDN004

e2d345ae8cef89fbabceae0402559c94.png

(扫码查阅更多dotnet workload信息)

5.

关于机器学习

我这几年投入到机器学习的时间非常多,也致力为.NET开发⼈员带来更多机器学习的知识。提到.NET 下的机器学习,我相信很多人都已经认识ML.NET了,但我⼀直在推荐的是开源TensorFlow.NET。

(https://github.com/SciSharp/TensorFlow.NET)

这个项目经过几年的发展现在已经为.NET在深度学习领域提供了很好的解决方案。这次通过.NET 6,微软带来了更多的场景,比如TorchSharp。

https://github.com/dotnet/TorchSharp

这是在 dotnet开源下的⼀个项目,它参照的就是TensorFlow.NET的方式,通过绑定PyTorch底层 C++ API实现了.NET原生的PyTorch框架。我相信以后大家可以在ML.NET下在深度学习的场景可以像Keras⼀样调用不同深度学习框架。

更多关于.NET机器学习的知识 ,请点击以下链接查阅

https://aka.ms/LearnDN005

e78a69b011320675541d0b92bea1eb42.png

(扫码查阅更多.NET机器学习信息)

.NET 6还有很多更新,包括在Blazor,在性能,在C# 10.0等,我这里就不⼀⼀和⼤家介绍了,⼤家感兴趣可以点击以下链接查阅。

https://aka.ms/LearnDN006查阅。

4dcba0b25533c619233f24b5281e742a.png

(扫码查阅更多.NET6更新)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Wordpress 提速之 Gzip 压缩

今天来聊下 wordpress 提速,其实关于这方面的话题网上其实蛮多的,速度对一个网站来说无疑是非常重要的,对于速度的追求也是无止境的,在这方面的表率无疑就是 shawn 了,看他博客的很多技巧都是针对速度来的……不过话说…

html弹性盒子垂直排列,css3弹性盒子布局

css3弹性盒子布局CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。display:f…

忍“乳”负重,身材好的女孩子究竟有多不容易?我从科学的角度算出来了……...

全世界只有3.14 % 的人关注了爆炸吧知识大家好,满肚子奇怪知识,用科学眼光看世界的小编又来了。先问大家一个问题:你最喜欢看女孩子的哪里?相信不少人,不论男女都想到了一个地方。不论男女,都希望自己能“大…

getchar()到底怎么用_怎样才能真正发挥肥效,腐植酸水溶肥到底怎么用

施肥是农业生产中的重要环节,不管是大田作物还是花草苗木,水肥充足才能健康生长。而施肥不是看用了多少,而是看转化率,有多少真正被植物所吸收利用。许多化肥看着一大袋一大袋的用,结果都浪费了或者造成徒长一点用处都…

Windows API GetVersionEx()判断系统版本详解

转载自:http://bbs.7boo.com.cn/thread-8093-1-1.htmlAF注:TCHAR cstCSDVersion[128];sprintf(cstCSDVersion,"%s",os.szCSDVersion);//spkWindows API 中有两个函数可以得到系统版本信息:GetVersion和GetVersionEx。 GetVersion这个函数曾经困扰了…

Android之Json转换利器Gson之实例一-简单对象转化和带泛型的List转化

看代码可以最快速学习 实体类 public class Student {private int id;private String name;private Date birthDay;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this…

可视化ASP.Net Core Web API健康检查

前言ASP.NET Core提供运行状况检查Middleware和库,以便于报告应用的运行状况。使用方式也很简单。引用Nuget包Microsoft.Extensions.Diagnostics.HealthChecks。然后修改Startup.cs文件:public void ConfigureServices(IServiceCollection services) {...services.A…

利用网站模板创建子网站

1. 打开顶层站点,进入网站内容,最底部,子站点-->新建子网站 2.配置如下: 3. 可能会出现的BUG http://blog.csdn.net/chenxinxian/article/details/12189293 4, 解决方法:安装或卸载用于SharePoint的Reporting Servi…

Firefox 10正式发布

Firefox 10是Firefox的首个长期支持版本(Extended Support Release),Firefox 10的支持周期为1年,不会增添新功能,仅会提供安全性更新。经过6个Beta测试,Firefox 10正式版今天终于发布了。 Firefox 10新特性…

计算机PS英语词汇,操作计算机必读(必会)的53个英文单词共享

PC:个人计算机Personal ComputerCPU:中央处理器Central Processing UnitCPU Fan:中央处理器的“散热器”(Fan)MB:主机板MotherBoardRAM:内存Random Access Memory,以PC-代号划分规格,如PC-133&a…

解锁一个新技巧,让你舒服到不想起床

▲ 点击查看每天睡个好觉,真的是一件很爽的事情。怎样才能做到这么爽呢?答案当然是好好挑选我们的床上伴侣——床品四件套啦~在所有的床品中,四件套绝对是刚需,并且至少需要两套以上用来替换。如果有人问你挑选四件套的标准是什么…

面试常见问题_软件实施工程师面试中的常见问题都有哪些呢?

软件实施工程师面试中的常见问题都有哪些呢?首先需要看你自己找什么样的工资,是新手呢还是老手呢?对于软件实施的一些新手来说,那么相对应来说要看重的是人品的一个问题,因为毕竟他们家的是新手,所以对于一…

Android之访问网络,使用HttpURLConnection还是HttpClient?

<span style="font-family: Arial; font-size: 14px; background-color: rgb(255, 255, 255);">大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作,HttpURLConnection和HttpClient。这两种方式都支…

iOS6.0以上版本,关于NSDateFormatter的问题

以前写代码&#xff0c;使用到NSDateFormatter&#xff0c;通常没有太留意setDateFormat的格式&#xff0c;如下&#xff1a; NSDateFormatter *formatter [[[NSDateFormatter alloc] init] autorelease]; [formatter setDateStyle:NSDateFormatterMediumStyle]; [formatter s…

用计算机才能奏乐曲,计算机音乐系统和音乐听觉训练

人的音乐才能包括音乐听觉和音乐感觉。良好的音乐感觉总是建立在起码的音乐听觉之上的。因此&#xff0c;提高音乐素质应从音乐听觉的培养开始。接下来小编为您介绍具体的运用计算机来对音乐系统和音乐听觉的训练。人们普遍认为&#xff1a;音高、时值、音强和音色是任何文化背…

nameof() 到底是编译时还是运行时行为?

咨询区 Gigi&#xff1a;在 C#6.0 中&#xff0c;可以用 nameof() 直接获取变量或者类型的名字&#xff0c;请问这是一个 编译时 还是 运行时 行为&#xff1f;回答区 Faris Zacina&#xff1a;可以肯定的说&#xff0c;它是一种 编译时 行为&#xff0c;我举一个例子&#xff…

CSS text-indent 属性

实例 将段落的第一行缩进 50 像素&#xff1a; p{text-indent:50px;} CSS 文本属性 属性描述color设置文本颜色direction设置文本方向。line-height设置行高。letter-spacing设置字符间距。text-align对齐元素中的文本。text-decoration向文本添加修饰。text-indent缩进元素中文…

关于parallel rollback的一点总结

原文链接 http://www.killdb.com/2011/10/07/%e5%85%b3%e4%ba%8eparallel-rollback%e7%9a%84%e4%b8%80%e7%82%b9%e6%80%bb%e7%bb%93.html转载于:https://blog.51cto.com/rogerli/818759

清华博士生被开除:告诉孩子,不吃学习的苦,就要吃生活的苦

全世界只有3.14 % 的人关注了爆炸吧知识还记得前两年&#xff0c;人民日报在微信上发过一篇文章——《致沉睡中的大学生&#xff1a;你不失业&#xff0c;天理难容&#xff01;》批判那些舒服地坐在象牙塔里&#xff0c;虚度光阴葬送自己前程的大学生们。当时不少网友评论&…

hbase shell 查看列名_hbase shell 常用命令

1、查看读取器状态status2、查看hbase版本version3、创建一个表&#xff1a;格式&#xff1a; create 表名&#xff0c;列簇1&#xff0c;列簇2...列簇Ncreate ‘member’,member_id,address,info4、查看表描述describe member5、删除一个列簇&#xff1a;先关闭&#xff0c;再…