.NET Core 3.0特性初探:C# 8、WPF、Windows Forms、EF Core

.NET Core 3.0预览版支持使用WPF、WinForms、EF Core、Blazor和C# 8构建桌面应用。WPF和WinForms已在MIT许可下开源,但仅限Windows。C# 8引入了多项新特性,如可空类型、默认接口方法等。此外,.NET Core 3还将包含EF Core 3和Entity Framework 6.3,便于应用迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

\u003cblockquote\u003e\n\u003cp\u003e.NET Core的下一个主要版本最近进入了预览阶段,.NET Core 3.0将支持使用Windows Presentation Foundation (WPF)、Windows Forms(WinForms)、Entity Framework (EF)、Blazor、 C# \u003ca href=\"http://xn--8-se9a.NET\"\u003e8和.NET\u003c/a\u003e Standard 2.1构建桌面应用程序。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e.NET Core的下一个主要版本最近进入了\u003ca href=\"https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-net-core-3-preview-1-and-open-sourcing-windows-desktop-frameworks/\"\u003e预览阶段\u003c/a\u003e,.NET Core 3.0将支持使用Windows Presentation Foundation (WPF)、Windows Forms(WinForms)、Entity Framework (EF)、Blazor、 C# \u003ca href=\"http://xn--8-se9a.NET\"\u003e8和.NET\u003c/a\u003e Standard 2.1构建桌面应用程序。\u003c/p\u003e\n\u003cp\u003e正如InfoQ\u003ca href=\"https://www.infoq.com/news/2018/12/msft-open-source-wpf-winforms\"\u003e报道\u003c/a\u003e的那样,WPF和WinForms最近都在MIT许可协议下开源。\u003ca href=\"http://xn--0iv78v48q.NET\"\u003e虽然是.NET\u003c/a\u003e Core 3.0的一部分,但它们目前只能在Windows上使用,而且\u003ca href=\"https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/\"\u003e微软似乎也不打算\u003c/a\u003e将它们移植到其他平台上,但开源为社区将它们移植到macOS和Linux上提供了可能。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://xn--ykq53srm9c.NET\"\u003e除了在.NET\u003c/a\u003e Core中增加了对Windows桌面应用程序的支持外,新版本还将通过引入\u003ca href=\"https://www.infoq.com/presentations/blazor-web-assembly\"\u003eBlazor组件\u003c/a\u003e\u003ca href=\"http://xn--cetr2p97c229c.NET\"\u003e来推进对.NET\u003c/a\u003e Core Web开发的支持。Blazor是一个开放的基于Web标准的实验性框架,它支持创建在浏览器中运行的UI组件,包括在WebAssembly .NET运行时上运行的移动组件。虽然已经可以使用.NET进行全栈开发,但Blazor还处于\u003ca href=\"https://blazor.net/docs/introduction/faq.html\"\u003eAlpha准备阶段\u003c/a\u003e,微软还在努力完善技术问题并评估社区的兴趣。\u003c/p\u003e\n\u003cp\u003eC# \u003ca href=\"http://8.xn--0-sr6b.NET\"\u003e8.0是.NET\u003c/a\u003e Core 3的另一个重要组件。它带来了许多在其加入C#路线图时InfoQ已经报道过的新语言特性,包括\u003ca href=\"https://www.infoq.cn/article/2017%2F11%2Fc-sharp-nullable-references\"\u003e可空类型\u003c/a\u003e、\u003ca href=\"https://www.infoq.cn/article/2018%2F09%2Fdefault-interface-methods-core\"\u003e默认接口方法\u003c/a\u003e、\u003ca href=\"https://www.infoq.cn/article/Async-Streams\"\u003e异步流\u003c/a\u003e、\u003ca href=\"https://www.infoq.cn/article/cs8-ranges-and-recursive-patterns\"\u003eRanges和递归模式\u003c/a\u003e以及\u003ca href=\"https://www.infoq.cn/article/2018%2F09%2Fcsharp-8-small-features\"\u003e大量的其他特性\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e.NET Core 3还将支持Entity Framework的新版本\u003ca href=\"https://github.com/aspnet/EntityFramework.Docs/blob/master/entity-framework/core/what-is-new/roadmap.md\"\u003eEF Core 3\u003c/a\u003e,它将包含对LINQ实现的重大更改,以提高生成查询的正确性和效率,并检测低效查询。另外,.NET Core 3将包含Entity Framework 6.3,允许开发人员移植依赖于它的现有应用程序。\u003c/p\u003e\n\u003cp\u003e微软.NET项目管理负责人Scott Hunter\u003ca href=\"https://msdn.microsoft.com/en-us/magazine/mt848631\"\u003e写道\u003c/a\u003e,\u003ca href=\"http://xn--6kqx04am6u.NET\"\u003e相对于.NET\u003c/a\u003e Framework框架来说,.NET Core的一个主要优点是更容易向前发展。\u003ca href=\"http://xn--0iv704g.NET\"\u003e这是.NET\u003c/a\u003e Core被打包到应用程序可执行文件中的结果,使得应用程序实际上独立于与操作系统绑定的框架。相反,\u003ca href=\"http://xn--OS-8y2d640g2um.NET\"\u003eOS自带的.NET\u003c/a\u003e Framework必然需要与大量依赖它的现有应用程序保持兼容,这大大减慢了它的发展速度。.NET \u003ca href=\"http://xn--Core-y39f219aujhz8bt8q6n2e.NET\"\u003eCore已经开始推动.NET\u003c/a\u003e Standard的发展就是证明,该标准定义了所有.NET实现中可用的API的基线。事实上,\u003ca href=\"http://xn--ub1a.NET\"\u003e自.NET\u003c/a\u003e Core 2.1以来,.NET Standard 2.1新增了大约3000个API,\u003ca href=\"http://xn--API-fk9d119hli6c.NET\"\u003e这些API是.NET\u003c/a\u003e Core开源开发的一部分,其中包括\u003ca href=\"https://www.infoq.com/news/2018/06/.Net-4.8-Preview\"\u003eSpan\u003cT\u003e\u003c/a\u003e、\u003ca href=\"https://blogs.msdn.microsoft.com/dotnet/2018/04/18/performance-improvements-in-net-core-2-1/\"\u003eValueTask\u003c/a\u003e等。\u003c/p\u003e\n\u003cp\u003eHunter写道,最后需要注意的是,.NET Core 3的另一个主要关注点是物联网,它支持在Raspberry Pi和Arduino设备上使用的GPIO、PWM、SPI和I2C API。\u003c/p\u003e\n\u003cp\u003e本文只是 .NET Core 3新特性的简要概述,该版本预计将在2019年下半年发布。如果你有兴趣尝试一下,请从微软的网站上下载 \u003ca href=\"https://dotnet.microsoft.com/download/dotnet-core/3.0\"\u003e.NET Core 3 Preview 1\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e查看英文原文:\u003ca href=\"https://www.infoq.com/news/2019/01/dotnet-core-3-preview\"\u003eFirst Look at .NET Core 3.0: C# 8, WPF, Windows Forms, EF Core, and More\u003c/a\u003e\u003c/p\u003e\n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值