原文 | Olia Gavrysh

翻译 | 郑子铭

我们很高兴地宣布发布一款新工具,可以帮助您将本地 .NET 应用程序迁移到 Azure。

适用于 .NET 的 Azure Migrate 应用程序和代码评估工具(简称 AppCAT)允许你评估应用程序的 .NET 源代码、配置和二进制文件,以识别将应用程序迁移到 Azure 时的潜在问题和机会。它有助于发现应用程序在移植到 Azure 时可能遇到的任何问题,并通过建议现代的云原生解决方案来提高性能、可扩展性和安全性。

运行分析后,该工具将向您显示一份报告,其中包含您需要检查或更改的所有可能事项,以确保您的应用程序在从本地迁移到 Azure 后能够正常工作。

AppCAT 通过对代码及其依赖项进行静态代码分析来发现应用程序技术的使用情况。它还允许您跳转到需要您注意的行,解决问题并将其标记为已修复,保存问题的当前状态和报告,以便您或您的同事可以准确地从您上次停下的地方开始并有效协作。该工具将为您提供修复每个问题所需的工作量的估计,以及对应用程序和整个项目的组件的估计。它将提供有关如何解决问题并将您连接到 Microsoft 文档的详细指导。

AppCAT 有两种“风格”——作为 Visual Studio 扩展和作为 .NET CLI 工具。

安装 Visual Studio 扩展

先决条件

  • Windows操作系统
  • Visual Studio 2022 版本 17.1 或更高版本

安装步骤

使用以下步骤从 Visual Studio 内部安装它。或者,您可以从 Visual Studio Marketplace 下载并安装扩展。

  1. 打开 Visual Studio 后,按“扩展”>“管理扩展”菜单项,这将打开“管理扩展”窗口。

  1. 在“管理扩展”窗口中,输入“ Azure迁移”到搜索输入框中。

  1. 选择“Azure Migrate 应用程序和代码评估”项,然后选择“下载”。
  2. 下载扩展后,关闭 Visual Studio。这将开始安装扩展。
  3. 在 VSIX 安装程序对话框中,选择“修改”并按照说明安装扩展。

安装 CLI 工具

先决条件

  • .NET SDK

安装步骤

要安装该工具,请在 CLI 中运行以下命令:

dotnet tool install -g dotnet-appcat

要更新该工具,请在 CLI 中运行以下命令:

dotnet tool update -g dotnet-appcat

请注意,如果您配置了其他 NuGet 源,则安装此工具可能会失败。使用 --ignore-failed-sources 参数将这些失败视为警告而不是错误。

dotnet tool install -g --ignore-failed-sources dotnet-appcat

使用 Visual Studio 分析应用程序

安装 Visual Studio 扩展后,您就可以在 Visual Studio 中分析您的应用程序了。您可以通过右键单击“解决方案资源管理器”窗口中的任何项目或解决方案并选择“重新平台到 Azure”来执行此操作。

该工具的窗口将打开,供您创建新报告或打开现有报告。

如果您选择创建新报告,则在下一个屏幕上您可以选择要分析解决方案中的哪些项目。将为您预先选择 Web 项目,您可以通过选中或取消选中项目旁边的框来更改选择。当该工具运行时,它还会分析您所选项目的依赖关系。

在下一个屏幕上,您可以选择是否只想分析源代码和设置,或者也分析代码所具有的所有二进制依赖项。

单击“分析”按钮并且该工具完成分析后,您将在仪表板中看到结果,该结果可以以不同格式(HTML、CSV 和 JSON)保存。

阅读此分步指南,了解有关 Visual Studio 体验的详细说明。

使用 .NET CLI 分析应用程序

安装 CLI 工具后,您就可以在 CLI 中分析您的应用程序了。在 CLI 中运行命令:

appcat analyze <APPLICATION_PATH>

您可以为该工具将生成的报告文件指定路径和格式(.html、.json 或 .csv):

appcat analyze <APPLICATION_PATH> --report MyAppReport --serializer html

阅读此分步指南,了解有关 CLI 体验的详细说明。

解释结果

CLI 工具和 Visual Studio 都允许您以 HTML、CSV 和 JSON 格式保存分析结果。 HTML 报告看起来与分析完成后您将在 Visual Studio 中看到的仪表板非常相似。

该报告将向您显示有关分析的项目数量、问题和事件的信息,以及对每个事件、问题和项目需要花费多少努力来修复的评估。事件按类别和严重性分组。有不同的视图可让您查看事件、获取有关如何修复事件的帮助、跳转到发生这些事件的代码等等。

阅读此解释结果指南,了解报告不同部分的详细说明以及如何理解和解释数据。

支持的语言

.NET 的应用程序和代码评估可以分析用以下语言编写的项目:

  • C#
  • 视觉基础

支持的项目类型

它会分析以下项目类型中的代码:

  • ASP.NET 和 ASP.NET Core
  • 类库

支持的 .NET 框架

所有 .NET 框架(.NET Framework、.NET Core、.NET 5+)。

支持的 Azure 目标

当前应用程序确定了迁移到 Azure 应用服务、AKS 和 Azure 容器应用程序的潜在问题。将来,该工具可能能够明确设置目标并分别过滤每个目标的确切问题和建议。

下一步是什么

接下来,我们将重点关注为该工具注入 AI 功能并添加与 Copilot 的集成,以便您可以获得有关整体迁移以及解决特定问题的帮助。

我们目前正在开发的另一项重要功能是根据您选择的 Azure 目标为您提供更有针对性的评估。我们计划添加在报告之前设置目标并根据该目标构建报告的功能。

有用的材料

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

  • AppCAT文档
  • Visual Studio 的 AppCAT 安装
  • AppCAT CLI 安装

给我们反馈!

请通过 Visual Studio 反馈渠道向我们提供反馈或报告任何问题,方法是选择“帮助”|“在 Visual Studio 中发送反馈。请在标题中提及“AppCAT”,以便更快地将其发送给我的团队。我们感谢您的意见,并希望为您构建合适的工具!

原文链接

Announcing the Azure Migrate application and code assessment tool for .NET

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

如有任何疑问,请与我联系 (MingsonZheng@outlook.com)

【译】宣布推出适用于 .NET 的 Azure Migrate 应用程序和代码评估工具的更多相关文章

  1. 火眼推出Windows免费渗透测试套件,包含140多款工具

    火眼推出Windows免费渗透测试套件,包含140多款工具 2019年3月28日,火眼发布了一个包含超过140个开源Windows渗透工具包,红队渗透测试员和蓝队防御人员均拥有了顶级侦察与漏洞利用程序 ...

  2. 注册Azure AD 应用程序

    作者:陈希章 发表于2017年3月22日 在此前的文章中,我给大家介绍了分别用Graph 浏览器以及第三方工具(POSTMAN)快速体验Microsoft Graph的功能,其中有一个重要的环节就是, ...

  3. Azure编程笔记(3):用Fiddler调试Azure的应用程序

     内容提要 Azure的服务是通过RESTfulAPI提供的. 尽管Azure针对非常多编程语言都提供了SDK.但这些SDK也仅仅是RESTfulAPI的一层封装. 在调用SDK或者RESTful ...

  4. Azure DevOps(二)Azure Pipeline 集成 SonarQube 维护代码质量和安全性

    一,引言 对于今天所分析的 SonarQube,首先我们得了解什么是 SonarQube ? SonarQube 又能帮我们做什么?我们是否在项目开发的过程中遇到人为 Review 代码审核规范?带着 ...

  5. 微软推出首个Microsoft Azure Stack技术预览版

    Mike Neil,微软公司企业云副总裁 怀着对于提高业务灵活性.加速创新的期待,很多企业正在向云平台迅速迁移.伴随着这样的趋势,我们也见证了微软智能云Azure业务在全球市场的快速增长--每个月近1 ...

  6. 微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具

    发布于 2013-12-04 作者 Eduard Koller 这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息.今天,微软开放技术有限公司 (MS Open Tech),想与大家分 ...

  7. 【译】第六篇 SQL Server安全执行上下文和代码签名

    本篇文章是SQL Server安全系列的第六篇,详细内容请参考原文. SQL Server决定主体是否有必要的执行代码权限的根本途径是其执行上下文规则.这一切都可能复杂一个主体有执行代码的权限,但是却 ...

  8. Azure CLI 2.0-Azure新命令行工具介绍

    Azure CLI 2.0 是 Azure 的新命令行体验,用于管理 Azure 资源. 可以将其安装在 macOS.Linux 和 Windows 上,然后从命令行运行它. Azure CLI 2. ...

  9. 适用于OpenGL离屏渲染上下文的初始化代码

    说明 近期做图像算法.须要用到shader对图像进行处理,用glut会有窗体,不适合写成UT測试用例,须要创建一个无窗体的OpenGL上下文. 代码 这部分代码事实上是參考 Android的Skia ...

  10. azure k8s netcore 程序初次部署

    以下都是我在2018年12月份做的实验,今天才发布出来. 念想 首先是了解一些关于K8s的一些基础概念,推荐查看一下这个链接,非常适合入门k8s.是因为K8S的环境搭建比较复杂(最主要是懒),其实也有 ...

随机推荐

  1. 如何通过canvas实现电子签名

    想要实现一个电子签名,可以支持鼠标签名,还能类似书法效果线条有粗有细,同时可以导出成图片. 一.实现连贯的划线 1)首先需要注册鼠标下压.鼠标放开.鼠标移出和鼠标移动事件,通过鼠标下压赋值downFl ...

  2. 万字血书Vue—Vue的核心概念

    MVVM M:模型(Model):data V:视图(View):模板 VM:视图模型(ViewModel):Vue实例对象 Vue收到了MVVM模型的启发,MVVM是vue实现数据驱动视图和双向数据 ...

  3. 【TouchGFX 】使用 CubeMX 创建 TouchGFX 工程时 LCD 显示为雪花屏

    经几个晚上折腾,修改大量的LTDC时钟.时序,FMC时序等,结果还是一样,耐心与好使的工程仔细对比,发现是时钟源配置问题,真是冤,聊以此以示纪念 实质上是没有分清有源和无源晶振 无源晶振又被叫做 谐振 ...

  4. C# 线程本地存储 为什么线程间值不一样

    一:背景 1. 讲故事 有朋友在微信里面问我,为什么用 ThreadStatic 标记的字段,只有第一个线程拿到了初始值,其他线程都是默认值,让我能不能帮他解答一下,尼玛,我也不是神仙什么都懂,既然问 ...

  5. MYSQL varchar和nvarchar一些学习

    MYSQL varchar和nvarchar一些学习 背景 先试用 utfmb3的格式进行一下简单验证 注意脚本都是一样的. create database zhaobsh ; use zhaobsh ...

  6. [转帖]资料整理——Oracle版本历史(很全面)(Releases and versions of Oracle Database)

    资料来源: https://en.wikipedia.org/wiki/Oracle_Database Oracle Database Version Initial Release Version ...

  7. [转帖]perf学习-linux自带性能分析工具

    目前在做性能分析的事情,之前没怎么接触perf,找了几篇文章梳理了一下,按照问题的形式记录在这里. 方便自己查看.   什么是perf? linux性能调优工具,32内核以上自带的工具,软件性能分析. ...

  8. [专题]中立遭质疑,提价遭反对,ARM的生存难题怎么破?

    中立遭质疑,提价遭反对,ARM的生存难题怎么破? https://news.cnblogs.com/n/669715/ ARM税要提高.. RISC-V的机会? 文/黎文婕 来源:锌刻度(ID:znk ...

  9. Python控制微信,实现聊天机器人

    自从微信禁止网页版登陆之后,itchat 库实现的功能也就都不能用了,那现在 Python 还能操作微信吗?答案是:可以! 在Github上有一个项目叫<WeChatPYAPI>可以使用 ...

  10. MySQL控制权限

    编写顺序和执行顺序是不一样的 编写顺序: SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排序字段列表 ...