使用 .NET Upgrade Assistant(升级助手)升级 .NET 老旧版本项目

使用 .NET Upgrade Assistant 升级 .NET 老旧版本项目

  • .NET Upgrade Assistant 概述
  • .NET Upgrade Assistant 功能
    • 1、支持以下代码语言:
    • 2、支持的 `.NET` 升级路径:
    • 3、支持的项目类型:
  • .NET Upgrade Assistant 安装
    • 1、使用 Visual Studio 扩展安装
    • 2、手动下载 Visual Studio 插件安装
  • .NET 升级助手项目升级
    • 1、使用 Visual Studio 扩展升级
    • 2、使用 CLI 工具升级

never give up

.NET Upgrade Assistant 概述

.NET 升级助手是一种工具,旨在帮助用户实现 .NET 应用程序的现代化。

新版本 .NET 全年发布,主要版本每年发布一次。 .NET Upgrade Assistant 升级助手有助于将 .NET、.NET Core.NET Framework 早期版本中的应用升级到最新版本。

.net类库

.NET 升级助手 是一个 Visual Studio 扩展和命令行工具,旨在帮助将应用升级到最新版本的 .NET

可以通过选择 “帮助”>“发送反馈”>“报告问题”,在 Visual Studio 中提交与 .NET 升级助手 相关的问题。

关于 .NET 版本发布策略,请查看官方文档

  • .NET 支持策略,https://dotnet.microsoft.com/zh-cn/platform/support/policy

.NET Upgrade Assistant 功能

1、支持以下代码语言:

  • C#(CSharp)
  • Visual Basic

2、支持的 .NET 升级路径:

  • .NET Framework.NET
  • .NET Core.NET
  • UWPWinUI 3
  • 任何以前的 .NET 版本到最新 .NET 版本
  • Azure Functions v1,v2,v3v4(独立)
  • Xamarin Forms.NET MAUI

注意:对于 Xamarin -> MAUI .xaml 文件(XAML 文件)转换仅支持升级基本的命名空间。若要进行更全面的转换,请使用 Visual Studio 2022 版本 17.6 或更高版本。

3、支持的项目类型:

  • ASP.NET
  • Azure Functions
  • WPF
  • WinForms
  • Class libraries
  • Console
  • Xamarin.Forms
  • .NET MAUI
  • UWP

即将推出支持的项目类型(Coming soon):

  • WCFWCF Core 升级

如果遇到任何问题或有改进建议,请在 Visual Studio 中报告反馈(请参阅 报告问题)。

Report a Problem(报告问题):

  • https://learn.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2022

.NET Upgrade Assistant 安装

1、使用 Visual Studio 扩展安装

选择 VS 菜单栏目,选择 扩展(X) -> 管理扩展(M)... 单机,弹出窗口选择【联机】右上角搜索框输入 .NET Upgrade Assistant 点击回车(Enter)键,显示信息如下:

.NET Upgrade Assistant

直接点击下载,等待安装完成即可。

2、手动下载 Visual Studio 插件安装

除了上面使用 Visual Studio 扩展安装的方式,还可以手动下载 Visual Studio.NET Upgrade Assistant 插件,手动安装。

  • 扩展插件下载地址,https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.upgradeassistant

.NET 升级助手

手动安装 VSIX 插件显示信息如下:

VSIX 插件安装

.NET 升级助手项目升级

注意:下面两种升级方式,如果不使用源代码管理,请确保在升级之前备份项目。

1、使用 Visual Studio 扩展升级

安装 .NET Upgrade Assistant(升级助手)扩展后,右键单击 “解决方案资源管理器” 窗口中的 项目/.csproj,然后选择 “升级/Upgrade”

升级/Upgrade

将打开一个选项卡,该选项卡根据项目类型提供不同的升级样式:

  • 就地项目升级

此选项无需复制即可升级项目。

  • 并行项目升级

复制项目并升级副本,从而保留原始项目。

  • 并行增量

对于复杂的 Web 应用,这是一个不错的选择。 从 ASP.NET 升级到 ASP.NET Core 需要进行大量的工作,有时还需要手动重构。 此模式将 .NET 项目放在现有 .NET Framework 项目旁,并路由在 .NET 项目中实现的终结点,而所有其他调用将发送到 .NET Framework 应用程序。

此模式允许你逐个缓慢升级 ASP.NET 或库应用。

升级应用后,将显示状态屏幕,其中显示与升级关联的项目相关的所有项目。可以展开每个升级项目,以阅读有关状态的详细信息。

以下列表介绍了状态图标:

  • 已填充绿色复选标记:项目已升级并成功完成。
  • 未填充绿色复选标记:工具找不到有关要升级的项目的任何内容。
  • 黄色警告标志:项目已升级,但应考虑重要信息。
  • 红色 X:项目要升级,但升级失败了。

.net项目升级状态

此外,升级助手执行的操作将记录到 “升级助手” 源下的 “输出” 窗口,如下图所示:

.NET Upgrade Assistant

注意:升级项目后,需要对其进行全面测试。

2、使用 CLI 工具升级

安装 .NET 升级助手 CLI 工具,执行如下命令:

dotnet tool install -g upgrade-assistant

同样地,由于 .NET 升级助 手是作为 .NET 工具安装的,因此运行以下命令可以轻松地更新它:

dotnet tool update -g upgrade-assistant

注意:如果已配置其他 NuGet 源,则安装此工具可能会失败。

使用 --ignore-failed-sources 参数将这些失败处理为警告而不是错误:

dotnet tool install -g --ignore-failed-sources upgrade-assistant

若要使用 WCF 组件升级项目,请使用旧版 CLI 工具。 有关详细信息,请参阅安装(旧版本)。

安装旧版本 CLI

  • https://learn.microsoft.com/zh-cn/dotnet/core/porting/upgrade-assistant-install-legacy

安装 .NET 升级助手 CLI 工具后,打开 终端 窗口并导航到包含要升级的项目的目录。 可以使用 upgrade-assistant --help 命令查看 CLI 提供的可用选项。

查看升级助手帮助信息

查看升级助手帮助信息:

PS C:\Users\Jeffrey.Chai> upgrade-assistant --help
USAGE:upgrade-assistant [OPTIONS] <COMMAND>EXAMPLES:upgrade-assistant upgrade <PROJECT_PATH>upgrade-assistant upgrade <PROJECT_PATH> --operation Inplace --targetFramework net6.0upgrade-assistant upgrade <PROJECT_PATH> --operation SideBySide --targetFramework LTS
--destination <NEW_PROJECT_NAME_OR_PATH>OPTIONS:-h, --help       Prints help information-v, --version    Prints version informationCOMMANDS:upgrade    Upgrade project or its features. This command lets you pick upgrade options andguides through upgrade process

使用 upgrade-assistant upgrade 命令运行该工具,其中列出了当前文件夹中的所有项目及以下内容。 CLI 工具提供了一种交互式方式来选择要升级的项目。 使用箭头键选择项目,然后按 Enter 运行该项目。 选择要升级的项目。 在本文提供的示例中,当前文件夹下有四个项目:

Selected options
───────────────────────────────────────────────────────────No options specified, follow steps below to continueSteps
─────────────────Source project
─────────────────Which project do you want to upgrade (found 9)?> MatchingGame (winforms\MatchingGame\MatchingGame.csproj)MatchingGame.Logic (winforms\MatchingGame.Logic\MatchingGame.Logic.csproj)StarVoteControl (csharp\StarVoteControl\StarVoteControl.csproj)WebSiteRatings (csharp\WebSiteRatings\WebSiteRatings.csproj)NavigationExit

根据你升级的项目,你可能会看到一个选项,用于指定升级应该如何进行:

  • 就地项目升级

此选项无需复制即可升级项目。

  • 并行项目升级

此选项仅适用于 .NET Framework 项目。 复制项目并升级副本,从而保留原始项目。

Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────Source project     C:\Code\winforms\MatchingGame\MatchingGame.csprojSteps
───────────────────────────────Source project / Upgrade type
───────────────────────────────How do you want to upgrade project MatchingGame?> In-place project upgradeSide-by-side project upgradeNavigationBackExit

完成此步骤后,如果有多个可升级的目标框架,你将选择一个目标:

Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────Source project     C:\Code\Work\dotnet\dotnet-docs\docs\core\porting\snippets\upgrade-assistant-wpf-framework\winforms\MatchingGame\MatchingGame.csprojUgrade type        InplaceSteps
──────────────────────────────────────────────────Source project / Ugrade type / Target framework
──────────────────────────────────────────────────What is your preferred target framework?> .NET 6.0 (Supported until November, 2024).NET 7.0 (Supported until May, 2024).NET 8.0 (Try latest preview features)NavigationBackExit

注意!注意!注意! 升级项目后,需要对其进行全面测试。

关于 .NET Upgrade Assistant 更多信息,请查看相关文档:

  • .NET 升级助手概述,https://learn.microsoft.com/zh-cn/dotnet/core/porting/upgrade-assistant-overview
  • Github 项目地址,https://github.com/dotnet/upgrade-assistant

effort

通过对 .NET Upgrade Assistant(升级助手) 的介绍,希望该文章能够对您有所帮助,欢迎更多小伙伴尝试使用该工具升级项目,分享更多的项目升级实战经验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中海达两项技术成果成功入选水利部第四届水文监测仪器设备推介名录

11月30日&#xff0c;由水利部科技推广中心主办&#xff0c;水利部国际合作与科技司和水利部水文司参与指导&#xff0c;长江水利委员会水文局和长江科学院共同协办的第四届水文监测仪器设备推介会在武汉香格里拉大酒店隆重举办&#xff0c;共有79家技术持有单位115项技术参会推…

上海亚商投顾:沪指探底回升 AI应用方向集体爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数早间震荡调整&#xff0c;深成指盘中跌超1%&#xff0c;午后探底回升全线翻红&#xff0c;北证50指数…

模板、STL标准模板库

模板 通常 对 具有相同要求的结果或者类 提供一个模板&#xff0c;根据实际使用时传过来的数据类型&#xff0c;决定函数和类的具体实现。 模板可以让类或者函数支持一种类型&#xff0c;这种通用类型在实际运行的过程中可以使用任何数据类型。 这种编程方式也成为"泛型编…

画图带你理清TCP协议三次握手和四次挥手

TCP 特性 1.确认应答机制 (ACK) 2.超时重传 3.建立连接 - 三次握手 4.断开连接 - 四次挥手 1.确认应答机制 (ACK) 确认应答是可靠传输的最核心机制&#xff0c;接收方反馈一个应答报文(ACK)&#xff0c;表示已收到 假设现在 A 想去 B 家里玩游戏&#xff0c;于是 A 给…

SEO外链工具,免费SEO引蜘蛛工具

随着互联网的迅猛发展&#xff0c;网站的排名成为各类企业的突破口。SEO&#xff08;Search Engine Optimization&#xff09;作为提高网站在搜索引擎中排名的重要手段&#xff0c;其成功与否直接关系到网站能否获得更多的曝光和流量。在SEO的世界中&#xff0c;引蜘蛛与外链的…

6-3 求3*3整数矩阵对角线元素之和

#include<stdio.h>int main(){int a[3][3],sum0;int i ,j;printf("输入元素&#xff1a;\n");for(i0;i<3;i)for(j0;j<3;j)scanf("%d",&a[i][j]);for(i0;i<3;i)sumsuma[i][i];printf("总和为&#xff1a;%d",sum);return 0;}

如何购买阿里云服务器

作为一家全球领先的云计算服务提供商&#xff0c;阿里云提供了多种云产品和解决方案&#xff0c;包括云服务器、对象服务OSS、数据库、存储、SSL、域名和CDN等。阿里云服务器是一种灵活可扩展的云计算服务&#xff0c;适用于各种规模和类型的企业和个人用户。阿里云以其出色的性…

邮件迁移-邮件同步-批量完成邮件迁移解决方案-imapsync

背景&#xff1a; 公司原来使用的邮箱服务器实现方式是james的cassandra-app&#xff0c;如今要启用新的邮件服务器&#xff0c;架构用的是james的distributed-app,升级后&#xff0c;要求邮件数据不丢失&#xff0c;因此要平滑完成邮件的迁移工作&#xff0c;保障升级后邮件不…

文章解读与仿真程序复现思路——中国电机工程学报EI\CSCD\北大核心《考虑量化储热的多区域电–热综合能源系统优化调度》

标题 "考虑量化储热的多区域电–热综合能源系统优化调度" 可以分解为几个关键词和短语&#xff0c;我们逐步解读&#xff1a; 考虑量化储热&#xff1a; 考虑&#xff1a; 意味着在解决问题或进行研究时&#xff0c;会综合或纳入特定因素。量化&#xff1a; 将抽象的…

旺店通·企业奇门对接打通金蝶云星空查询店铺接口与客户新增接口

旺店通企业奇门对接打通金蝶云星空查询店铺接口与客户新增接口 数据源系统:旺店通企业奇门 旺店通是北京掌上先机网络科技有限公司旗下品牌&#xff0c;国内的零售云服务提供商&#xff0c;基于云计算SaaS服务模式&#xff0c;以体系化解决方案&#xff0c;助力零售企业数字化智…

android.view.WindowLeaked解决方法

问题 我在使用WindowManager添加一个button&#xff0c; windowManager.addView(button,layoutParams);然后关闭当前的这个Activity的时候遇到了WindowLeak这个问题&#xff0c;也就是所谓的窗体泄露。 原因 主要原因是因为android只允许在UI主线程操作&#xff0c;我在使用W…

编译原理实验词法分析

编译原理实验中的词法分析是编译过程的一个重要环节。它的任务是从左到右读入源程序的字符流&#xff0c;识别出一个个的单词&#xff0c;即基本保留字、标识符、常数、运算符、分隔符五大类。 在识别出下一个单词后&#xff0c;词法分析程序会验证其词法正确性&#xff0c;然…

卖家低价侵权了怎么处理

店铺如果未经品牌允许&#xff0c;做了产品销售&#xff0c;其实从知识产权的角度出发&#xff0c;对于品牌来说&#xff0c;店铺这种行为属于侵权&#xff0c;侵犯了品牌的商标权、著作权、专利权等&#xff0c;所以品牌可以对店铺进行知识产权维权&#xff0c;店铺如果未授权…

崩坏:星穹铁道《渔工案周年特别篇》读后感,有多少恶搞柯南的地方

在星穹铁道1.5版本中&#xff0c;智库新上线一本读物&#xff0c;名为《渔工案周年特别篇》读后感。 《渔工案周年特别篇》读后感可以说是恶搞了大量柯南的梗和目前柯南的槽点了&#xff0c;看的有些搞笑。 《渔工案》在此前1.3版本里面&#xff0c;三月七的说出渔工案内容&…

GPT4-Turbo技术原理研发现状及未来应用潜力分析报告

今天分享的是GPT4-Turb系列深度研究报告&#xff1a;《GPT4-Turbo技术原理研发现状及未来应用潜力分析报告》。 &#xff08;报告出品方&#xff1a;深度行业分析研究&#xff09; 报告共计&#xff1a;46页 图像理解能力提升&#xff1a;三大视觉学习方法  为打造视觉大模…

成品短视频app源码开发,你需要知道的最新动向

随着移动互联网的快速发展&#xff0c;短视频行业正迅速崛起。越来越多的创业者和开发者将目光投向了成品短视频app源码开发领域。下面我们将深入探讨这一领域的最新动向&#xff0c;带您了解成品短视频app源码开发的趋势与前景 成品短视频app源码开发的前景和机遇 短视频内容…

深圳招聘一般在哪个网站

深圳吉鹿力招聘网是一个专注于深圳招聘的平台&#xff0c;主要提供人才招聘服务。在深圳吉鹿力招聘网上&#xff0c;你可以找到各种深圳招聘信息&#xff0c;包括企业招聘、职位发布、简历投递等。深圳吉鹿力招聘网的出现&#xff0c;方便了求职者的投递和查询工作机会&#xf…

36、红外遥控(外部中断)

红外遥控简介 红外遥控是利用红外光进行通信的设备&#xff0c;由红外LED将调制后的信号发出&#xff0c;由专用的红外接收头进行解调输出 通信方式&#xff1a;单工&#xff0c;异步 红外LED波长&#xff1a;940nm 通信协议标准&#xff1a;NEC标准 硬件电路 基本发送与接收…

基于Spring Cloud智慧工地可视化管理平台源码

智慧工地是聚焦工程施工现场&#xff0c;紧紧围绕人、机、料、法、环等关键要素&#xff0c;综合运用物联网、云计算、大数据、移动计算和智能设备等软硬件信息技术&#xff0c;与施工生产过程相融合。 一、什么是智慧工地 智慧工地是指利用移动互联、物联网、智能算法、地理…

OpenAI发生的大事件总结!

在 11 月的最后一天&#xff0c;OpenAI 官网发布了一则公告&#xff0c;宣布 Sam Altman 再次担任首席执行官&#xff0c;并成立了新的初始董事会。这项持续了 12 天的事件终于得到了解决&#xff0c;OpenAI 回到了正常运营轨道上。 一切仍然保持不变&#xff1a; Sam Altman仍…