「翻译」.NET Core3.1发布
liebian365 2024-11-22 17:14 20 浏览 0 评论
我们很高兴宣布.NET Core 3.1的发布。实际上,这只是对我们两个多月前发布的.NET Core 3.0的一小部分修复和完善。最重要的是.NET Core 3.1是长期支持(LTS)版本,并且将支持三年。和过去一样,我们希望花一些时间来发布下一个LTS版本。额外的两个月(在.NET Core 3.0之后)使我们能够选择和实施在已经非常稳定的基础上进行的正确改进。
您可以下载适用于Windows,macOS和Linux的.NET Core 3.1:
- .NET Core 3.1 SDK和运行时
- Docker容器映像
- Snap安装程序
- ASP.NET Core和EF Core也在今天发布。
Visual Studio 2019 16.4也于今天发布,其中包括.NET Core 3.1。这是将.NET Core 3.1与Visual Studio一起使用所必需的更新。对于Visual Studio 2019用户,我们建议仅将Visual Studio更新到16.4,而不是单独下载.NET Core 3.1。
Visual Studio for Mac在Visual Studio for Mac 8.4预览通道中还支持并包括.NET Core 3.1。您需要选择使用Preview通道才能使用.NET Core 3.1。
发行说明:
- .NET Core 3.1发行说明
- .NET Core 3.1问题的GitHub问题
- GitHub发布
.NET Core 3.1中的更改??主要集中在Blazor和Windows Desktop,这是.NET Core 3.0中的两个新增功能。这包括对C++/ CLI的支持,这是针对Windows的开发人员的常规要求。
在我们了解.NET Core 3.1的新功能之前,让我们快速了解一下.NET Core 3.0的关键改进,这是.NET Core 3.1需要考虑的大部分重要内容。
.NET Core 3.0更新概述
.NET Core 3.0提供了以下关键改进。我们已经从从事大型网站的开发人员那里听说,它对他们来说运作得非常好。
- .NET Core 3.0已经在dot.net和Bing.com上托管了几个月,已经通过了测试。其他许多Microsoft团队很快将在生产中的.NET Core 3.1上部署大型工作负载。
- 性能有很大的提高跨许多部件,并在将详细描述在.NET Core 3.0性能改进和硬件内在函数在.NET Core。
- C#8添加了异步流,范围/索引,更多模式和可为空的引用类型。Nullable使您可以直接针对导致的代码缺陷NullReferenceException。框架库的最底层已被注释,以便您知道何时可以期待null。
- F#4.7致力于通过隐式yield表达式和一些语法放松使某些事情变得容易。它还包含对的支持LangVersion,并nameof在预览中附带并打开了静态类。F#核心库现在还针对.NET Standard 2.0。您可以在发布F#4.7中阅读更多内容。
- .NET Standard 2.1增加了可以在.NET Core和Xamarin都可以使用的代码中使用的类型集。.NET Standard 2.1包括.NET Core 2.1以后的类型。
- .NET Core现在支持Windows窗体和WPF(和开放源代码)的Windows桌面应用程序。WPF设计器是Visual Studio 2019的一部分。WindowsForms设计器处于预览状态,可以下载。
现在,.NET Core应用程序默认情况下具有可执行文件。在过去的发行版中,需要通过dotnet命令来启动应用,例如dotnet myapp.dll。现在可以使用特定于应用程序的可执行文件(例如myapp或)启动应用程序./myapp,具体取决于操作系统。 - 添加了高性能JSON API,用于reader/writer,对象模型和序列化方案。这些API从头开始构建,Span并在幕后使用UTF8而不是UTF16(例如string)。这些API最小化分配,从而提高了性能,减少了垃圾收集器的工作。请参阅尝试新的System.Text.Json API。
- 默认情况下,垃圾收集器使用较少的内存,通常少得多。对于许多应用程序托管在同一服务器上的情况,此改进非常有用。垃圾收集器也进行了更新,以更好地利用64核以上的机器上的大量核。请参阅在具有64个以上CPU的计算机上为GC更好地配置CPU配置。
- .NET Core已针对Docker进行了强化,以使.NET应用程序在容器中可预测且有效地工作。已将容器配置为有限的内存或CPU时,垃圾收集器和线程池已更新为更好地工作。.NET Core Docker窗映像较小,尤其是SDK映像。请参阅:在小型容器场景中使用服务器GC运行第0部分,在小型容器场景中使用服务器GC运行第1部分-GC堆的硬限制以及同时使用.NET和Docker-DockerCon 2019更新。
- 现在支持Raspberry Pi和ARM芯片以支持IoT开发,包括使用远程Visual Studio调试器。您可以使用新的GPIO API部署可监听传感器的应用程序,并在显示器上打印消息或图像。ASP.NET可用于将数据公开为API或允许配置IoT设备的站点。支持平台以下操作系统支持.NET Core 3.1:
- 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窗体和WPF应用程序仅在Windows上起作用并受支持。
芯片支持如下:
- Windows,macOS和Linux上的x64
- Windows上的x86
- Windows和Linux上的ARM32
- Linux上的ARM64(内核4.14+)
注意:请确保.NET Core 3.1 ARM64部署使用Linux内核4.14版本或更高版本。例如,Ubuntu 18.04满足此要求,但16.04不满足。
Windows窗体控件删除
以下Windows窗体控件已从.NET Core 3.1中删除:
- 数据网格
- 工具栏
- 上下文菜单
- 菜单
- 主菜单
- 菜单项
早在2005年,这些控件就被.NET Framework 2.0中更强大的控件所取代。默认情况下,多年来,Visual Studio Designer工具箱中都没有提供这些控件。结果,我们决定删除这些控件,而只关注新控件。
建议使用以下替代产品:
旧控件(API)建议更换其他关联的API已删除DataGridDataGridViewDataGridCell,DataGridRow,DataGridTableCollection,DataGridColumnCollection,DataGridTableStyle,DataGridColumnStyle,DataGridLineStyle,DataGridParentRowsLabel,DataGridParentRowsLabelStyle,DataGridBoolColumn,DataGridTextBox,GridColumnStylesCollection,GridTableStylesCollection,HitTestTypeToolBarToolStripToolBarAppearanceToolBarButtonToolStripButtonToolBarButtonClickEventArgs,ToolBarButtonClickEventHandler,ToolBarButtonStyle,ToolBarTextAlignContextMenuContextMenuStripMenuToolStripDropDown,ToolstripDropDownMenuMenuItemCollectionMainMenuMenuStripMenuItemToolstripMenuItem
是的,这是一个不幸的重大变化。如果您使用的是我们在应用程序中删除的控件,则会看到构建中断。另外,如果在最新版本的.NET Core Windows窗体设计器中打开.NET Core 3.0应用程序,则在使用这些控件时会看到错误。
我们建议您将应用程序更新为.NET Core 3.1,然后移至其他控件。更换控件是一个简单的过程,本质上是“查找并替换”。
首先,我们应该在发布.NET Core 3.0之前进行这些更改,对此我们表示赞同。我们尝试避免过时的更改,甚至避免突破性更改,这使我们很痛苦。
随着我们进一步进入Windows Forms设计器项目,我们意识到这些控件与创建现代应用程序不符,并且永远不应该成为Windows Forms的.NET Core端口的一部分。我们还看到,他们需要我们更多的时间来支持而不是合理的。
我们的目标是继续改进Windows窗体,以实现更高的DPI,可访问性和可靠性,并且需要后期更改才能使我们专注于交付。
C ++ / CLI
我们在Visual Studio 2019 16.4中增加了对创建可与.NET Core 3.0+一起使用的C ++ / CLI(又称为“托管C ++”)组件的支持。您需要安装“带C ++的桌面开发”工作负载和“ C ++ / CLI支持”组件,才能使用C ++ / CLI。
该组件添加了几个可以使用的模板:
- CLR Class Library (.NET Core)
- CLR Empty Project (.NET Core)
如果找不到它们,只需在“新建项目”对话框中搜索它们。
C++ / CLI仅在Windows上启用。您不能将目标为.NET Framework的C ++ / CLI组件与.NET Core一起使用,反之亦然。
结束
我们建议您尽快迁移到.NET Core 3.1。这是一个很棒的版本(很大程度上是由于3.0),它对.NET Core的许多方面进行了改进。这也是一个长期支持(LTS)版本,将支持三年。
生命周期更新:
- .NET Core 3.0将于今天(到2020年3月3日)维护三个月。
- .NET Core 2.2的整个维护周期都将在12月23日结束。
- .NET Core 2.1的支持将一直持续到2021年8月(这也是LTS版本)。
来源:https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/
作者:冯辉
出处:https://www.cnblogs.com/yyfh/p/11980790.html
本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
相关推荐
- “版本末期”了?下周平衡补丁!国服最强5套牌!上分首选
-
明天,酒馆战棋就将迎来大更新,也聊了很多天战棋相关的内容了,趁此机会,给兄弟们穿插一篇构筑模式的卡组推荐!老规矩,我们先来看10职业胜率。目前10职业胜率排名与一周前基本类似,没有太多的变化。平衡补丁...
- VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"
-
首先,程序中头文件的选择,要选择头文件,在文件中是没有对M_PI的定义的。选择:项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,...
- 东营交警实名曝光一批酒驾人员名单 88人受处罚
-
齐鲁网·闪电新闻5月24日讯酒后驾驶是对自己和他人生命安全极不负责的行为,为守护大家的平安出行路,东营交警一直将酒驾作为重点打击对象。5月23日,东营交警公布最新一批饮酒、醉酒名单。对以下驾驶人醉酒...
- Qt界面——搭配QCustomPlot(qt platform)
-
这是我第一个使用QCustomPlot控件的上位机,通过串口精确的5ms发送一次数据,再将读取的数据绘制到图表中。界面方面,尝试卡片式设计,外加QSS简单的配了个色。QCustomPlot官网:Qt...
- 大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写
-
老友相聚,仗剑江湖!《大话西游2》2021全民PK季4月激燃打响,各PK玩法鏖战齐开,零门槛参与热情高涨。PK季期间,不仅各种玩法奖励丰厚,参与PK趣闻录活动,投稿自己在PK季遇到的趣事,还有机会带走...
- 测试谷歌VS Code AI 编程插件 Gemini Code Assist
-
用ClaudeSonnet3.7的天气测试编码,让谷歌VSCodeAI编程插件GeminiCodeAssist自动编程。生成的文件在浏览器中的效果如下:(附源代码)VSCode...
- 顾爷想知道第4.5期 国服便利性到底需优化啥?
-
前段时间DNF国服推出了名为“阿拉德B计划”的系列改版计划,截至目前我们已经看到了两项实装。不过关于便利性上,国服似乎还有很多路要走。自从顾爷回归DNF以来,几乎每天都在跟我抱怨关于DNF里面各种各样...
- 掌握Visual Studio项目配置【基础篇】
-
1.前言VisualStudio是Windows上最常用的C++集成开发环境之一,简称VS。VS功能十分强大,对应的,其配置系统较为复杂。不管是对于初学者还是有一定开发经验的开发者来说,捋清楚VS...
- 还嫌LED驱动设计套路深?那就来看看这篇文章吧
-
随着LED在各个领域的不同应用需求,LED驱动电路也在不断进步和发展。本文从LED的特性入手,推导出适合LED的电源驱动类型,再进一步介绍各类LED驱动设计。设计必读:LED四个关键特性特性一:非线...
- Visual Studio Community 2022(VS2022)安装图文方法
-
直接上步骤:1,首先可以下载安装一个VisualStudio安装器,叫做VisualStudioinstaller。这个安装文件很小,很快就安装完成了。2,打开VisualStudioins...
- Qt添加MSVC构建套件的方法(qt添加c++11)
-
前言有些时候,在Windows下因为某些需求需要使用MSVC编译器对程序进行编译,假设我们安装Qt的时候又只是安装了MingW构建套件,那么此时我们该如何给现有的Qt添加一个MSVC构建套件呢?本文以...
- Qt为什么站稳c++GUI的top1(qt c)
-
为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MF...
- qt开发IDE应该选择VS还是qt creator
-
如果一个公司选择了qt来开发自己的产品,在面临IDE的选择时会出现vs或者qtcreator,选择qt的IDE需要结合产品需求、部署平台、项目定位、程序猿本身和公司战略,因为大的软件产品需要明确IDE...
- Qt 5.14.2超详细安装教程,不会来打我
-
Qt简介Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序。Qt是纯C++开...
- Cygwin配置与使用(四)——VI字体和颜色的配置
-
简介:VI的操作模式,基本上VI可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1)...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- “版本末期”了?下周平衡补丁!国服最强5套牌!上分首选
- VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"
- 东营交警实名曝光一批酒驾人员名单 88人受处罚
- Qt界面——搭配QCustomPlot(qt platform)
- 大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写
- 测试谷歌VS Code AI 编程插件 Gemini Code Assist
- 顾爷想知道第4.5期 国服便利性到底需优化啥?
- 掌握Visual Studio项目配置【基础篇】
- 还嫌LED驱动设计套路深?那就来看看这篇文章吧
- Visual Studio Community 2022(VS2022)安装图文方法
- 标签列表
-
- wireshark怎么抓包 (75)
- qt sleep (64)
- cs1.6指令代码大全 (55)
- factory-method (60)
- sqlite3_bind_blob (52)
- hibernate update (63)
- c++ base64 (70)
- nc 命令 (52)
- wm_close (51)
- epollin (51)
- sqlca.sqlcode (57)
- lua ipairs (60)
- tv_usec (64)
- 命令行进入文件夹 (53)
- postgresql array (57)
- statfs函数 (57)
- .project文件 (54)
- lua require (56)
- for_each (67)
- c#工厂模式 (57)
- wxsqlite3 (66)
- dmesg -c (58)
- fopen参数 (53)
- tar -zxvf -c (55)
- 速递查询 (52)