关于.net:NET-6-如期而至

49次阅读

共计 2929 个字符,预计需要花费 8 分钟才能阅读完成。

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

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

.NET 6 是一个 LTS 版本,意味着你能够稳固地应用外,能够失去平安和补丁更新。依据.NET 官网上的材料,.NET 6 在 2023 年 11 月都会失去长期保护,各位请安心应用。

如果你还没有 / 筹备装置.NET 6,请输出以下地址 https://aka.ms/InstallDN 下载获取更多信息。

.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

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

更多对于.NET CLI HotReload , 请点击以下链接查阅
https://aka.ms/LearnDN002

3. MAUI

对于 MAUI, 我对它的感情是十分深,从晚期的 monotouch 到 Xamarin, 再到当初的 MAUI。有人会感觉微软放弃了 Xamarin,然而我感觉齐全并入到.NET 6 正是微软器重 Xamarin 的体现,我记得在 7 月 Reactor 的.NET Day 上探讨过 MAUI 的架构,你会发现它是.NET 6 最重要的⼀环。

你间接能够通过命令行构建你的 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

4. 对于 workload

随着.NET 利用场景的减少,不同的用户须要的反对不尽相同,例如我专一于 MAUI 的利用,这个时候我就须要 iOS、macOS、Android 的反对,但默认状况下是没有做相干的 SDK 增加的。因为如果全副场景的性能都合并到 SDK,就变成一个巨物了,从编译到部署都是十分麻烦的。.NET 团队致力于保护 SDK 的小而精,针对不同场景在.NET 6 中减少了 workload 去为不同场景做量身定制。

当我通过 dotnet new maui 的时候,在默认状况下是没有 new maui 的 template 的,而且也不会含有相干的一些 SDK,这个时候零碎会教你通过查找的形式去确认是否有官网或者中央的 template。

通过命令行执行一下操作
dotnet workload install maui

能够把 MAUI 所须要的 SDK 装置起来,并增加好基于 dotnet new maui 的模板,真的十分不便和人性化,这样能够较少.NET SDK 一些不必要的装置,太棒了。

你能够通过执行以下语句查看相干的 workload 有哪些
dotnet workload search

当初的场景有针对 MAUI 和 Blazor 的场景心愿日后会增加更多的场景,满足更多的须要。

更多对于 dotnet workload , 请点击以下链接查阅
https://aka.ms/LearnDN004

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 一样调用不同深度学习框架。

更多对于 dotnet workload , 请点击以下链接查阅
https://aka.ms/LearnDN005

.NET 6 还有很多更新,包含在 Blazor,在性能,在 C# 10.0 等,我这里就不一一和大家介绍了,⼤家感兴趣能够点击以下链接查阅。
https://aka.ms/LearnDN006

正文完
 0