当前位置:首页 > 数码 > 3.1-8-.NET-Core-从-.NET-无缝更新到-摸索全面变更指南 (318川藏线)

3.1-8-.NET-Core-从-.NET-无缝更新到-摸索全面变更指南 (318川藏线)

admin8个月前 (04-14)数码31

Core3.1曾经用了很长一段期间,其真实2022年的年底微软曾经不提供支持了,前面的一个LTS版本.NET6也会在2024年11月中断支持,所以间接更新到.NET8是最好的选用。

微软官网推出了更新工具:UpgradeAssistant,链接地址如下:

有了更新工具,更新就变得十分繁难了,本文就引见经常使用更新工具将.NETCore3.1名目更新到.NET8。

装置UpgradeAssistant

先确保VS2022曾经更新到了17.8。而后在VS2022的裁减治理中装置裁减:.NETUpgradeAssistant,须要特意留意的是,假设之前装置过更新工具裁减,须要卸载从新装置。

更新名目

.NETCore3.1的一个处置打算中,会有很多的名目,依照名目的依赖相关,从最底层的名目一一往上启动更新。

装置完更新工具后,在名目上点击右键就会产生Upgrade按钮:

在弹窗当选用更新模式:

选用更新的指标版本,这里我选用.NET8,这是一个长线支持版本,最新版本的更新工具只支持更新到7和8了,假设有更新到.NET6的需求,就须要经常使用老版本了:

选用须要更新的内容,自动全选,点击「Upgradeselection」启动更新:

很快就可以看到更新成功的揭示:

编译

我验证过好几个低版本的名目,经常使用工具更新的环节没有产生果任何失误,但更新完后启动代码编译就会产生各种疑问了。

疑问1:Ionic.zip

在原来的版本中,名目中的zip紧缩用到了Ionic.zip,如今.NET8曾经不支持了,须要换成DotNetZip:

疑问2:BinaryFormatter曾经过期

代码中有不少中央经常使用到了二进制的序列化,但BinaryFormatter在.NET8中曾经弃用,有两种处置模式:

<Project><PropertyGroup>...<NoWarn>$(NoWarn);SYSLIB0011</NoWarn></PropertyGroup></Project>

参考:。

疑问3:Aspose经常使用疑问

名目中对文件的处置,经常使用了Aspose套件,更新后版本有兼容性疑问,更新到对应的版本就行。

摸索全面变更指南

疑问4:方法二义性

在之前的版本中,List存储的假设是一个复杂类型,想要依照类型中的某个字段启动去重是没方法间接成功的:

List<UserInfo>list=newList<UserInfo>();list.Add(newUserInfo(){,Age=18});list.Add(newUserInfo(){Name="oec2003",Age=18});list.Add(newUserInfo(){Name="oec2004",Age=18});list.Add(newUserInfo(){Name="oec2004",Age=18});vardistnctList=list.DistinctBy(x=>x.Age);foreach(varitemindistnctList){Console.WriteLine(item.Name);}publicclassUserInfo{publicstringName{get;set;}publicintAge{get;set;}}

上方代码中的DistinctBy方法在.NETCore3.1中是没有的,所以咱们裁减了一个DistinctBy方法,没想到.NET8中曾经自动提供了,会造成方法抵触,只有要将咱们的裁减方法去掉,经常使用自动就好。

运转

处置了上方的几个编译疑问后,程序就能反常启动运转了,整个环节还是十分极速的,不得不说,微软的技术向下兼容做的是十分不错的,再加上工具的加持,更新到新的版本没有什么压力和累赘。

相比之下,其余有些技术只管也在不停地更新迭代,但干流经常使用的还是某个特定的版本。


.NET平台系列6 .NET Core 发展历程

本系列技术大约30篇文章,欢迎关注、点赞、评论、转发,每天都能获取IT优质内容。

Core 历程

以下内容来自微软团队:

【大约两年前,我们开始收到一些客户对于 在Linux系统上的请求。在同一时期,我们开始与Windows Server Team讨论关于Windows Nano,它们的未来和一些较小的服务型产品。结果,我们开始了一个新的代号为“Project K”面向新平台的项目。我们沿着一条线多次更改名称、外观和体验,在每次运行过程都尽量让它更完善,适用于更多情况和更多的基础开发人员。非常高兴这个项目最终成为可用的 Core和ASP Core 1.0。

开源代码是这个项目另外一个重要的主题。随着时间的推移,我们注意到所有的主流网络平台都是开源代码。 MVC已经开放源代码很长时间了,但它下面的平台, Framework并没有开放源代码。对于那些非常关心开源代码,以及认为MVC的开源不够全面的开发人员,我们并没有给出回答。随着今天的发布, Core是一个自上而下的开源网络平台。甚至文档也是开源的,对于任何一个对他们的网络协议栈有开源代码需求的人来说 Core都是一个不错的选择。

我想对每个已经尝试 Core和 Core并且给我们反馈的人表示我们的感激之情。我们知道成千上万的人已经使用过先前的1.0产品,谢谢!我们已经收到许多关于产品设计选择,用户体验、性能、通信和其他主题的反馈。我们尽我们最大的努力响应了所有的反馈。有了这些反馈这次发布才能更加成功。没有你们我们不可能完成它。谢谢!

如果你不是一开发者或者没有应用过,现在正是尝试它的好时机。你可以在任何操作系统上、用任何工具,对于任意一个应用感受没有限制的生产力和力量。所有的开源代码,都得力于社区和微软的支持,查看了解操作范围。】

在我的上一篇博客《平台系列5 Core 简介》中主要介绍了的基本情况,主要包括跨平台的缘由、 Core的定义、 Core的核心功能、 Core的包管理、 Core 执行的应用程序类型、 Core 与其他平台的关系、 Core 支持的操作系统、 Core 支持开发的应用等。微软宏伟目标到底发展的如何,首先通过下面的一幅图可以直观地了解。

2014年2月4日,微软云计算事业部副总裁萨提亚·纳德拉 出任微软第三任CEO,改变微软企业文化,开始开源、拥抱Linux。2015年微软对平台进行了重新设计与架构。

2016年6月27日, Core1.0 项目正式发布,彻底改变了 Windows Only 的场景,拥抱开源。同时也得到了全世界开发者的喜爱与支持,很多顶级大牛为 Core贡献代码,发展非常迅速,顺势推出了 Core1.1、 Core2.0、 Core2.1、 Core2.2、 Core3.0、 Core 3.1、5,最新推出 6预览版,预计到2021年11月,正式发布6。

Core 版本支持

从微软官网可以了解到,团队到2021年8月21日将停止支持 Core 2.1 版本、到2022年12月3日将停止支持 Core 3.1版本。5.0 是目前微软推荐的可用于生产环境的最新版本,6.0目前处于预览版本,个人学习可以使用,不建议用到生产环境,待6.0正式版发布后,基于 Core 3.1 或者 5.0的项目可以无缝迁移到 6.0。

本系列技术大约30篇文章,欢迎关注、点赞、评论、转发,每天都能获取IT优质内容。

#国际体操协会解释桥本大辉跳马打分#

#南京、张家界或形成疫情传播双中心#

#刘德华抖音看播人数破亿#

#黄晓明祝贺表妹陈梦获女乒冠军#

#南京疫情已蔓延至15省27市#

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: .NET

“3.1-8-.NET-Core-从-.NET-无缝更新到-摸索全面变更指南 (318川藏线)” 的相关文章

揭秘其在.NET运行中灵敏读取和修正Excel文件的弱小性能-NPOI库深度解析 (揭秘揭秘大揭秘)

揭秘其在.NET运行中灵敏读取和修正Excel文件的弱小性能-NPOI库深度解析 (揭秘揭秘大揭秘)

一、NPOI库简介 NPOI(Non-ProfitOpenSourceSoftwarefor)是一个开源的.NET库,用于读取和写入Microsoft格局文件,包括、和PowerPoint等...

Core两边件成功Web-经常使用.NET-API流量限度指南 (core左边的工具如何恢复)

Core两边件成功Web-经常使用.NET-API流量限度指南 (core左边的工具如何恢复)

在Core中,咱们可以经常使用ASP.NETCore的两边件来对WebAPI启动流量限度。ASP.NETCore提供了一个名为RateLimit的开源库,可以繁难地成功流量限度性能。上方将详细引见...

作为-的原因-Python-开发人员-我开始使用-.NET (作为的原因)

作为-的原因-Python-开发人员-我开始使用-.NET (作为的原因)

作者:Alex Maher | 编译:小欧 作为一名开发人员,很长一段时间以来,我一直关注 C 和 .NET 的出色工具和功能。但我最近开始使用 Python,感觉非常棒。这里申明一点,文章...

INI和环境变量-.NET性能文件大揭秘-XML-轻松读取JSON (int环境)

INI和环境变量-.NET性能文件大揭秘-XML-轻松读取JSON (int环境)

概述: 中的IConfiguration接口提供了一种多源读取性能消息的灵敏机制,包括JSON、XML、INI文件和环境变量。经过示例,明晰展示了从这些不同源中读取性能的方法,使性能失...

与-的比较和选择指南-ValueTask-异步编程-Task-.NET-深入 (と与や的比较)

与-的比较和选择指南-ValueTask-异步编程-Task-.NET-深入 (と与や的比较)

In C, a task represents an asynchronous operation. It is commonly used to encapsulate time-consumi...

.NET-以及内存机制深化详解-中高效字符串存储指南-常量与灵活字符串解析

.NET-以及内存机制深化详解-中高效字符串存储指南-常量与灵活字符串解析

在中,字符串是无法变的,这象征着一旦创立,字符串的内容就不能被修正。字符串在内存中以不同的模式存储,详细取决于它是常量字符串还是灵活创立的字符串。 常量字符串 常量字符串在编译时就被解...

开源的.NET散布式事务处置打算 (开源的内核架构)

开源的.NET散布式事务处置打算 (开源的内核架构)

前言 在散布式系统中,因为各个系统服务之间的独立性和网络通讯的不确定性,要确保跨系统的事务操作的最终分歧性是一项严重的应战。当天给大家介绍一个开源的处置散布式事务的处置打算基于.NETSta...