【译】宣布推出适用于 .NET 的 Azure Migrate 应用程序和代码评估工具
原文 | 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 下载并安装扩展。
- 打开 Visual Studio 后,按“扩展”>“管理扩展”菜单项,这将打开“管理扩展”窗口。

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

- 选择“Azure Migrate 应用程序和代码评估”项,然后选择“下载”。
- 下载扩展后,关闭 Visual Studio。这将开始安装扩展。
- 在 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 应用程序和代码评估工具的更多相关文章
- 火眼推出Windows免费渗透测试套件,包含140多款工具
火眼推出Windows免费渗透测试套件,包含140多款工具 2019年3月28日,火眼发布了一个包含超过140个开源Windows渗透工具包,红队渗透测试员和蓝队防御人员均拥有了顶级侦察与漏洞利用程序 ...
- 注册Azure AD 应用程序
作者:陈希章 发表于2017年3月22日 在此前的文章中,我给大家介绍了分别用Graph 浏览器以及第三方工具(POSTMAN)快速体验Microsoft Graph的功能,其中有一个重要的环节就是, ...
- Azure编程笔记(3):用Fiddler调试Azure的应用程序
内容提要 Azure的服务是通过RESTfulAPI提供的. 尽管Azure针对非常多编程语言都提供了SDK.但这些SDK也仅仅是RESTfulAPI的一层封装. 在调用SDK或者RESTful ...
- Azure DevOps(二)Azure Pipeline 集成 SonarQube 维护代码质量和安全性
一,引言 对于今天所分析的 SonarQube,首先我们得了解什么是 SonarQube ? SonarQube 又能帮我们做什么?我们是否在项目开发的过程中遇到人为 Review 代码审核规范?带着 ...
- 微软推出首个Microsoft Azure Stack技术预览版
Mike Neil,微软公司企业云副总裁 怀着对于提高业务灵活性.加速创新的期待,很多企业正在向云平台迅速迁移.伴随着这样的趋势,我们也见证了微软智能云Azure业务在全球市场的快速增长--每个月近1 ...
- 微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具
发布于 2013-12-04 作者 Eduard Koller 这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息.今天,微软开放技术有限公司 (MS Open Tech),想与大家分 ...
- 【译】第六篇 SQL Server安全执行上下文和代码签名
本篇文章是SQL Server安全系列的第六篇,详细内容请参考原文. SQL Server决定主体是否有必要的执行代码权限的根本途径是其执行上下文规则.这一切都可能复杂一个主体有执行代码的权限,但是却 ...
- Azure CLI 2.0-Azure新命令行工具介绍
Azure CLI 2.0 是 Azure 的新命令行体验,用于管理 Azure 资源. 可以将其安装在 macOS.Linux 和 Windows 上,然后从命令行运行它. Azure CLI 2. ...
- 适用于OpenGL离屏渲染上下文的初始化代码
说明 近期做图像算法.须要用到shader对图像进行处理,用glut会有窗体,不适合写成UT測试用例,须要创建一个无窗体的OpenGL上下文. 代码 这部分代码事实上是參考 Android的Skia ...
- azure k8s netcore 程序初次部署
以下都是我在2018年12月份做的实验,今天才发布出来. 念想 首先是了解一些关于K8s的一些基础概念,推荐查看一下这个链接,非常适合入门k8s.是因为K8S的环境搭建比较复杂(最主要是懒),其实也有 ...
随机推荐
- 使用zipFile读取文件时遇到的问题及解决(KeyError: "There is no item named 'xxx' in the archive")
问题描述 在Windows上跑一段代码时,遇到如下问题: KeyError: "There is no item named 'CDR_Data\\\\CDR.Corpus.v010516\ ...
- 06-Shell内置命令
1.内置命令介绍 Shell 内置命令,就是由 Bash Shell 自身提供的命令,而不是文件系统中的可执行文件. 使用type 来确定一个命令是否是内置命令: type 命令 通常来说,内置命令会 ...
- 问题--QT只有全屏的时候才能使用
1.问题 安装的版本是3.8.0,只有在全屏的时候在编辑界面不会卡,其余情况会直接卡死在这. 2.解决方式 安装了较低版本的3.14.2,解决了上述问题
- scikit-learn.datasets 机器学习库
scikit-learn是一个用于Python的机器学习库,提供了大量用于数据挖掘和数据分析的工具.以下是对这些函数和方法的简要描述: clear_data_home: 清除数据集目录的内容. dum ...
- [转帖]Kafka中Topic级别配置
https://www.cnblogs.com/moonandstar08/p/6139502.html 一.Kafka中topic级别配置 1.Topic级别配置 配置topic级别参数时,相同(参 ...
- [转帖]Linux-find命令报错: missing argument to `-exec'
https://www.cnblogs.com/yeyuzhuanjia/p/17427143.html 报错提示:find: missing argument to `-exec' 今天写一个清理脚 ...
- 【转帖】网卡bonding模式 - bond0、1、4配置
网卡bonding简介 网卡绑定就是把多张物理网卡通过软件虚拟成一个虚拟的网卡,配置完毕后,所有的物理网卡的ip和mac将会变成相同的.多网卡同时工作可以提高网络速度,还可以实现网卡的负载均衡.冗余. ...
- [转帖]一个Linux 内核 bug 导致的 TCP连接卡死
https://plantegg.github.io/2022/10/10/Linux%20BUG%E5%86%85%E6%A0%B8%E5%AF%BC%E8%87%B4%E7%9A%84%20TCP ...
- Oracle PDB的相关使用说明
Oracle PDB的相关使用说明 摘要 PDB pluggable database 是Oracle12c以上的版本(Oracle18c.oracle19c) 新增加的一个特性. 他可以实现灵活插拔 ...
- 庖丁解牛:最全babel-plugin-import源码详解
庖丁解牛:最全 babel-plugin-import 源码详解 序言:在用 babel-plugin 实现按需加载一文中笔者用作用域链思路实现了按需加载组件.此思路是统一式处理,进入 ImportD ...