新的 .NET Upgrade Assistant 版本包含功能更新和 .NET MAUI 改进!

2023-09-22 00:01:33

作者:Olia Gavrysh
排版:Alan Wang

我们非常高兴的宣布,我们已经在 Visual Studio 中发布了新版本的 .NET Upgrade Assistant,它在新版本中增加了在不更改目标框架的情况下更新项目功能的能力,并且对 .NET MAUI 的迁移功能有很多改进!

.NET Upgrade Assistant 是一种可帮助您将应用程序升级到最新的 .NET 版本的工具,并且您可以使用这个工具将您的应用程序从旧平台(例如 Xamarin Forms 和 UWP)迁移到新的平台。此外,这个新版本的工具,可以让您在不更改 .NET 版本的情况下升级项目的功能。

此版本中的新内容

项目升级功能

我们收到了一些反馈意见,在某些情况下,您希望将 .NET 版本升级与其他类型的升级分离,
例如,一个非常常见的情况是在不更改 .NET Framework 版本的情况下将旧版本的项目文件转换为新的 SDK 版本的项目文件,这样一来,您就可以采用迭代方法来实现应用程序的现代化。现在,在 Upgrade Assistant 的首页上,如果您的项目有任何可用的项目功能升级,您将看到以下两个选项:Upgrade project to a newer .NET versionUpgrade project features

在这里插入图片描述
第一个选项可让您获得与以前版本的 Upgrade Assistant 相同的体验,帮助您升级 .NET 版本,而第二个选项则展示了我们在此版本中添加的新功能。 单击“Upgrade project features”后,您将看到可用于您的项目的升级。
在这里插入图片描述
目前只有一种类型可用:升级到 SDK 样式的项目文件,但我们计划在将来添加更多类型,因此请让我们知道您的应用程序需要哪种升级(请参阅下文“向我们提供反馈”部分!)。

请注意,如果您的项目文件已经是 SDK 样式的,首页将只会提供 .NET 版本升级的选项。

当您单击“Next”时,Upgrade Assistant 会将您的项目文件转换为新样式,而项目的目标框架将保持不变。
在这里插入图片描述
您可以看到升级前后的项目文件。
在这里插入图片描述

.NET MAUI 迁移中的更新

我们在 .NET MAUI 部分添加了许多改进!
首先,现在您可以使用 CLI 版本的 .NET Upgrade Assistant 在 macOS 上升级应用程序。

如果您希望手动将 Xamarin.Forms 升级到 .NET MAUI,我们添加了自动代码修复程序来帮助您更新代码。现在,您可以将 Xamarin.Forms 文件放入到 .NET MAUI 项目中,我们新的 Upgrade Assistant C# 分析器将修复您的代码,使其与 .NET MAUI 兼容。您可以在 Xamarin 命名空间附近看到一个灯泡,它提供修复整个文档和可选的项目或解决方案的选项。
在这里插入图片描述
除了这两个重要功能之外,我们还修复了许多 bug,添加了不少基础架构改进,以使 .NET MAUI 的升级变得更好。我们将继续这方面的工作。

下一步计划?

我们将继续致力于提高升级质量、添加更多功能升级、改进 .NET MAUI 的迁移并解决您的反馈。

了解如何升级

我们有很多材料可以帮助您完成升级过程:

向我们提供反馈

请向我们提供您的反馈,以便我们通过填写这份简短的调查来为您构建合适的工具。

您还可以通过选择 Help | Send Feedback 从 Visual Studio 提交问题或功能请求。请确保在标题中提及“Upgrade Assistant vsix”。

更多推荐

华为云云耀云服务器L实例评测|拉取创建canal镜像配置相关参数 & 搭建canal连接MySQL数据库 & spring项目应用canal初步

前言最近华为云云耀云服务器L实例上新,也搞了一台来玩,本篇博客介绍如何在华为云上部署canal的docker镜像,以及在spring项目中的初步应用。其他相关的华为云云耀云服务器L实例评测文章列表如下:初始化配置SSH连接&安装MySQL的docker镜像&安装redis以及主从搭建&7.2版本redis.conf配置

uniapp后台播放音频功能制作

在UniApp中,你可以使用uni.getRecorderManager()方法来创建一个录音管理器实例。但是,请注意,录音管理器并不直接用于后台音频播放功能,而是用于录制音频。如果想要在后台播放音频,你需要使用uni.getBackgroundAudioManager()。以下是一个示例,演示了如何在UniApp中使

Go 多版本管理工具

Go多版本管理工具文章目录Go多版本管理工具一、goget命令1.1使用方法:二、Goenv三、GVM(GoVersionManager)四、voidint/g4.1安装4.2冲突4.3使用在平时开发中,本地新旧项目并行开发的过程中,你大概率会遇到一个令人头疼的问题,如何同时使用两个不同版本的GolangRuntime

9.2.3.1 【MySQL】XDES Entry链表

当段中数据较少的时候,首先会查看表空间中是否有状态为FREE_FRAG的区,也就是找还有空闲空间的碎片区,如果找到了,那么从该区中取一些零碎的页把数据插进去;否则到表空间下申请一个状态为FREE的区,也就是空闲的区,把该区的状态变为FREE_FRAG,然后从该新申请的区中取一些零碎的页把数据插进去。之后不同的段使用零碎

ElasticSearch集群shard均衡策略

ES集群的rebalance和allocation功能,可以自动均衡集群内部数据、分配分片,保证各个节点间尽量均衡。但是,在高访问量或者节点宕机的情况下,大范围的rebalance会影响到集群性能。所以,调整好集群相关参数,是重中之重。1-shard分配策略集群分片分配是指将索引的shard分配到其他节点的过程,会在如

结合购物车功能,了解RedisTemplate中的BoundHashOperations源码

🧑‍💻作者名称:DaenCode🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开发。技术尚浅,闭关学习中······😎人生感悟:尝尽人生百味,方知世间冷暖。📖所属专栏:Redis相关源码分析专栏推荐专门

# 数据库开发-MySQL基础DDL-DML总结

数据库:英文为DataBase,简称DB,它是存储和管理数据的仓库。数据库管理系统(DataBaseManagementSystem,简称DBMS)DBMS是操作和管理数据库的大型软件。将来我们只需要操作这个软件,就可以通过这个软件来操纵和管理数据库了。需要给DBMS软件发送一条指令,告诉这个软件我们要执行的是什么样的

Keepalived+LVS负载均衡

Keepalived是一个用于实现高可用性的开源软件,它基于VRRP(VirtualRouterRedundancyProtocol)协议,允许多台服务器协同工作,以确保在某个服务器出现故障时服务的连续性。Keepalived的核心思想是将多台服务器配置成主服务器(MASTER)和备份服务器(BACKUP),它们共享一

计算机基础协议/概念:推送数据— —WebSocket与SSE;前端Blob/URL下载文件

计算机基础协议/概念:推送数据——WebSocket与SSE1WebSocket:双向通信1.1概念:通信过程①Upgrade:浏览器告知服务器升级为WebSocket协议②Switch:服务器升级成功后会返回101状态码③Communicate:浏览器和服务器就可以以WebSocket格式发送数据1.2实战:实现简易

GitHub上标星23K+的Redis进阶笔记(应用+原理+集群+拓展+源码)

先来看几道Redis面试题:redis为什么是key,value的,为什么不是支持SQL的?redis是多线程还是单线程?(回答单线程的请回吧,为什么请回,请往下看)redis的持久化开启了RDB和AOF下重启服务是如何加载的?(10个人9个回答错误)redis如果做集群该如何规划?AKF/CAP如何实现和设计?10万

Android gradle dependency tree change(依赖树变化)监控实现

文章目录前言基本原理执行流程diff报告不同分支merge过来的diff报告同个分支产生的merge报告同个分支提交的diff报告具体实现原理我们需要监控怎样的Dendenpency变化怎样获取dependencyTree`project.configurations`方式./gradlewdependenciesAs

热文推荐