硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1753|回复: 4
收起左侧

[WinCE] .NET Core 3.0 和Visual Studio2019 16.3发布,小白鼠们可以上MS的贼船了

[复制链接]

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
发表于 2019-9-25 10:20:25 | 显示全部楼层 |阅读模式

.NET Core是MS官方的C#跨平台,对标Mono等,香喷喷的,不知道这里有没有小白鼠?


一年一度的 .NET 开发者盛会 .NET Conf 2019 在昨日(举办时间为 9.23-9.25)正式开始了。大会第一天最重磅也是最激动人心的消息莫过于 .NET Core 3.0 稳定版的发布。.NET 项目管理总监 Scott Hunter 在大会宣布了这则消息,并在主题演讲环节围绕 .NET Core 3.0 的新特性和社区展开了介绍。

.NET Conf 2019 直播地址:https://www.dotnetconf.net/

作为一个大版本更新,.NET Core 3.0 引入了大量改进和新特性,例如新增加的 Windows Forms 和 WPF、新的 JSON API、对 ARM64 架构的支持,以及全面提升的性能。对了,C# 8 也是 .NET Core 3.0 本次更新的一部分,其中包括可空引用类型(nullable)、异步流(Async Streams)和更多的模式。

除了 C# 8,.NET Core 3.0 的更新内容还包括 F# 4.7,此版本主要是对语法进行改进,并将目标平台升级至面向 .NET Standard 2.0。

.NET 团队表示 .NET Core 3.0 会兼容之前的版本,所以大家现在就可以将项目升级至 .NET Core 3.0。

下载地址.NET Core 3.0 的一些“新料”

在深入探究 .NET Core 3.0 的所有新功能之前,先来看看一些重要的改进,其中提及到了 C# 8、F# 4.7、.NET Standard 2.1、在其他发行版上的支持情况等。

要注意的是,如需使用 .NET Core 3.0,请将 Visual Studio 升级至 2019 16.3 版本(Windows 用户)。

  • 在 .NET Core 3.0 稳定版发布前,它已在 dot.netBing.com 这两个网站上运行了数月,并已通过严格的测试。微软的团队也将很快在生产环境中将工作负载部署到 .NET Core 3.0 上。
  • 许多组件的性能都获得了巨大提升,详情可查看介绍 .NET Core 3.0 性能改进的内容
  • C# 8 增加了异步流(async streams)、范围类型和索引类型(range/index)、更多的模式以及可空引用类型。可空引用类型主要用于帮助我们处理无处不在的空引用异常(NullReferenceException),另外,框架库的底层已被注释,编译器会分析代码流,因此我们能查看null值是否可以将其用于当前位置。
  • F# 4.7 主要是通过使用隐式的yield表达式来简化一些操作,以及语法。此外还提供了对LangVersion的支持、新增nameof关键字,和处于预览阶段的静态类。F# 核心库的目标平台为 .NET Standard 2.0,详情点此了解
  • .NET Standard 2.1 增加了可以在代码中使用的类型集,它们也可同时用于 .NET Core 和 Xamarin。
  • .NET Core 现在已为 Windows 桌面应用提供支持、同时支持 Windows FormsWPF(已开源)。WPF 设计器已属于 Visual Studio 2019 16.3 的一部分。Windows Forms 设计器则仍处于预览阶段,可从 VSIX 进行下载
  • .NET Core 应用现在默认情况下就具有可执行文件。在之前的版本中,需要通过dotnet命令来启动应用,如dotnet myapp.dll。不过从这个版本开始,我们可以使用特定于应用程序的可执行文件(例如 myapp或./myapp, )来启动应用程序,具体取决于操作系统。
  • 新增高性能的 JSON API,用于读取器/写入器、对象模型和序列化方案。这些 API 基于Span<T>从头开始构建,使用 UTF8 来替代 UTF16(如 string),另外由于这些 API 使用了最小化的内存分配,因此带来了更好的性能,减少了垃圾回收器的工作。详情请查看 The future of JSON in .NET Core 3.0
  • 默认情况下,垃圾回收器使用更少的内存。对于许多应用程序托管在同一服务器上的情况,此改进非常有用。此外,新版本中 GC 能更好地利用具有 64 核(或大于)的机器的核心数量。
  • .NET Core 强化了对 Docker 的支持,以使 .NET 应用程序在容器中能按预期且有效地运行。当容器被配置为有限的内存或 CPU 时,垃圾回收器和线程池会更好地进行适应已提供最具优化效果的运行方式。.NET Core 的 Docker 镜像体积也更小 —— 尤其是 SDK 镜像。
  • 支持 Raspberry Pi 和 ARM 芯片,以助力 IoT 开发。其中包括远程 Visual Studio 调试器。这就意味着我们可以使用新的 GPIO API 来部署可监听传感器的应用程序,并在显示器上打印消息或图像。ASP.NET 可用于将数据暴露为 API,或作为一个在 IoT 设备启用配置的站点。
  • .NET Core 3.0 会被 11 月发布的 .NET Core 3.1 取代,因为后者才是 LTS 版本(至少会获得三年的技术支持),不过官方还是建议大家先升级到 .NET Core 3.0,然后再升级到 3.1,这样过渡起来更方便。
  • .NET Core 2.2 将于今年 12.23 到达 EOL 阶段。查看 .NET Core support policy
  • .经过与 Red Hat 的多年合作,.NET Core 3.0 将随 RHEL 8 在 Red Hat Application Streams 中一起提供。
  • Visual Studio 用户如需在 Windows 上使用 .NET Core 3.0,需要升级至 Visual Studio 2019 16.3。
  • Visual Studio 用户如需在 macOS 上使用 .NET Core 3.0,需要升级至 Visual Studio for Mac 8.3。
  • Visual Studio Code 用户则需要使用最新版本的 C# 扩展,以确保最新的方案能够正常工作,包括针对 .NET Core 3.0 的目标平台。
  • .NET Core 3.0 的 Azure App Service 部署目前正在进行中。
  • .NET Core 3.0 的 Azure Dev Ops 部署即将推出。
.NET Core 3.0 支持的平台
  • Alpine: 3.9+
  • Debian: 9+
  • openSUSE: 42.3+
  • Fedora: 26+
  • Ubuntu: 16.04+
  • RHEL: 6+
  • SLES: 12+
  • macOS: 10.13+
  • Windows Client: 7, 8.1, 10 (1607+)
  • Windows Server: 2012 R2 SP1+

要注意的是,Windows Forms 和 WPF 应用仅支持在 Windows 上运行。

对芯片的支持情况如下:

  • x64 on Windows, macOS, and Linux
  • x86 on Windows
  • ARM32 on Windows and Linux
  • ARM64 on Linux (kernel 4.14+)

注意:请确保 .NET Core 3.0 在 ARM64 上的部署使用 Linux Kernel 4.14 或更高版本。例如,Ubuntu 18.04 能满足此要求,但 16.04 却不满足。

WPF 和 Windows Forms

现在我们可以在 Windows 上使用 .NET Core 3 构建 WPF 和 Windows Forms 应用程序了。有关兼容性方面的问题,微软表示大可不必担心,因为他们从一开始就考虑到了这个问题,以使将桌面应用程序从 .NET Framework 迁移到 .NET Core 变得更加容&#8203;&#8203;易。

下面是官方提供的一个例子,.NET Core Windows Forms App:

Visual Studio 2019 16.3 支持创建面向 .NET Core 的 WPF 应用程序,这包括新模板以及更新的 XAML 设计器和 XAML Hot Reload。

下图展示了使用新设计器开发的 WPF 应用程序:

不过 Windows Forms 设计器目前尚处于预览阶段,可从此处单独下载。微软表示会在未来发布的 Visual Studio 中集成 Windows Forms 设计器。


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2019-9-25 11:00:04 | 显示全部楼层
难道是这个东西:

【STM32F429官方探索板】实验十一:Microsoft .NET Micro Framework platform(含多
http://www.armbbs.cn/forum.php?m ... 2468&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
 楼主| 发表于 2019-9-25 11:09:03 | 显示全部楼层
eric2013 发表于 2019-9-25 11:00
难道是这个东西:

【STM32F429官方探索板】实验十一:Microsoft .NET Micro Framework platform(含多

不是一样的东西,micro net是针对嵌入式的,像单片机这样的平台,而且MS好像停更了。而.net core是新方向,目前主要面向平台,像win,mac osx,linux,以及移动处理平台等。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2019-9-25 11:10:01 | 显示全部楼层
ghslfgkkl88 发表于 2019-9-25 11:09
不是一样的东西,micro net是针对嵌入式的,像单片机这样的平台,而且MS好像停更了。而.net core是新方向 ...

厉害,微软越来越会玩了。
回复

使用道具 举报

56

主题

904

回帖

1072

积分

至尊会员

积分
1072
发表于 2019-12-17 22:28:47 | 显示全部楼层
微软的大坑就是经常性停更,后来的不兼容原来的。入坑要谨慎,想想开发wp mobile的和macos 安卓的程序员的命运。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 17:18 , Processed in 0.171992 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表