{"id":249505,"date":"2024-06-25T10:00:54","date_gmt":"2024-06-25T17:00:54","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=249505"},"modified":"2024-06-25T11:07:06","modified_gmt":"2024-06-25T18:07:06","slug":"code-assessment-with-net-upgrade-assistant","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/code-assessment-with-net-upgrade-assistant\/","title":{"rendered":"Code Assessment with .NET Upgrade Assistant"},"content":{"rendered":"<p>We are thrilled to announce the latest enhancements to the <a href=\"https:\/\/dotnet.microsoft.com\/en-us\/platform\/upgrade-assistant\">.NET Upgrade Assistant<\/a>. .NET Upgrade Assistant helps upgrade solutions to newer versions of .NET. Whether you\u2019re upgrading from .NET Framework to .NET 8 or just between .NET Core versions (from .NET 6 or 7 to .NET 8 or 9), .NET Upgrade Assistant can help you understand what changes will be needed. .NET Upgrade Assistant is available as a <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-dotnettools.upgradeassistant\">Visual Studio extension<\/a>\u00a0or as a\u00a0<a href=\"https:\/\/www.nuget.org\/packages\/upgrade-assistant\">command-line tool<\/a>. Now as part of your upgrades to modern .NET, you\u2019ll have access to powerful code assessment features.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249597\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2.png\" alt=\"Image dashboard view 2\" width=\"2244\" height=\"1432\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2.png 2244w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-300x191.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-1024x653.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-768x490.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-1536x980.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-2048x1307.png 2048w\" sizes=\"(max-width: 2244px) 100vw, 2244px\" \/><\/a><\/p>\n<h5><\/h5>\n<h4>Here\u2019s what\u2019s new:<\/h4>\n<p>Our code assessment tool scans your solution at the source code level and identifies potential issues and dependencies that could pose challenges during the upgrade process. You will be provided with a comprehensive dashboard that provides an overview of issues across your entire solution and estimates of how much effort will be required for each issue to be remediated.<\/p>\n<p>Each issue in the report is categorized by severity, allowing you to prioritize your efforts. Whether it\u2019s a mandatory issue blocking upgrade or an optional issue identifying opportunities to take advantage of features available in the latest .NET framework, you\u2019ll know exactly where you need to focus your attention.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/Issues-example.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249516\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/Issues-example.png\" alt=\"Example of issues page in report\" width=\"1668\" height=\"1240\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/Issues-example.png 1668w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/Issues-example-300x223.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/Issues-example-1024x761.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/Issues-example-768x571.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/Issues-example-1536x1142.png 1536w\" sizes=\"(max-width: 1668px) 100vw, 1668px\" \/><\/a><\/p>\n<p>Issues can provide exact locations within your source code where issues were detected, making troubleshooting and fixing dependencies a breeze. Easily navigate through projects and pinpoint areas that need attention. You can jump to a line that requires your attention, address issues and mark them as fixed, and save the current state of the issues and report so you or your coworkers can pick up exactly where you left off, making collaboration easier than ever. We also include relevant links to documentation, best practices, and community discussions to give you the guidance you need to tackle each challenge.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Install the Visual Studio Extension<\/strong><\/h2>\n<h5>Pre-requisites:<\/h5>\n<ul>\n<li>Windows operating system<\/li>\n<li>Visual Studio 2022 version 17.1 or later<\/li>\n<\/ul>\n<h5>Installation:<\/h5>\n<p>If you don\u2019t already have the .NET Upgrade Assistant installed, you can download and install the extension from the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-dotnettools.upgradeassistant\">Visual Studio Marketplace<\/a> or <a class=\"Hyperlink SCXW133685311 BCX8\" href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/porting\/upgrade-assistant-install\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"FieldRange SCXW133685311 BCX8\"><span class=\"TrackChangeTextInsertion TrackedChange SCXW133685311 BCX8\"><span class=\"TextRun Underlined SCXW133685311 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW133685311 BCX8\" data-ccp-charstyle=\"Hyperlink\">install it from inside Visual Studio.<\/span><\/span><\/span><\/span><\/a><\/p>\n<p><span class=\"TrackChangeTextInsertion TrackedChange SCXW99977514 BCX8\"><span class=\"TextRun SCXW99977514 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW99977514 BCX8\">Note: <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW99977514 BCX8\"><span class=\"TextRun SCXW99977514 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW99977514 BCX8\">The .NET Upgrade Assistant extension now installs on a per-user basis so <\/span><span class=\"NormalTextRun SCXW99977514 BCX8\">there\u2019s<\/span><span class=\"NormalTextRun SCXW99977514 BCX8\"> no requirement for elevated admin permissions to install. This addresses a need voiced by some users who <\/span><span class=\"NormalTextRun SCXW99977514 BCX8\">don\u2019t<\/span><span class=\"NormalTextRun SCXW99977514 BCX8\"> have admin permissions on their dev machines. More information and <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW99977514 BCX8\">troubleshooting <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW99977514 BCX8\"><span class=\"TextRun SCXW99977514 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW99977514 BCX8\">suggestions<\/span><span class=\"NormalTextRun SCXW99977514 BCX8\"> may be found<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW99977514 BCX8\"><span class=\"TextRun SCXW99977514 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW99977514 BCX8\"> in this <\/span><\/span><\/span><a class=\"Hyperlink SCXW99977514 BCX8\" href=\"https:\/\/devblogs.microsoft.com\/dotnet\/dotnet-modernization-privacy-security-improvements\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"FieldRange SCXW99977514 BCX8\"><span class=\"TrackChangeTextInsertion TrackedChange SCXW99977514 BCX8\"><span class=\"TextRun Underlined SCXW99977514 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW99977514 BCX8\" data-ccp-charstyle=\"Hyperlink\">blog post<\/span><\/span><\/span><\/span><\/a><span class=\"TrackChangeTextInsertion TrackedChange SCXW99977514 BCX8\"><span class=\"TextRun SCXW99977514 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW99977514 BCX8\">.<\/span><\/span><\/span><span class=\"EOP TrackedChange SCXW99977514 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Install the CLI tool<\/strong><\/h2>\n<h5>Prerequisites:<\/h5>\n<ul>\n<li>.NET SDK<\/li>\n<\/ul>\n<p>The .NET Upgrade Assistant is also available as a .NET global tool. You can <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/porting\/upgrade-assistant-install#install-the-net-global-tool\">install the tool<\/a> with the following command:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">dotnet tool install -g upgrade-assistant<\/code><\/pre>\n<p>Similarly, because the .NET Upgrade Assistant is installed as a .NET tool, it can be easily updated by running:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">dotnet tool update -g upgrade-assistant<\/code><\/pre>\n<p>&nbsp;<\/p>\n<h2><strong>Analyze applications with Visual Studio<\/strong><\/h2>\n<p>Once you have installed the Visual Studio extension, you are all set to analyze your application in Visual Studio. You can do so by right clicking on your solution in the Solution Explorer and selecting <strong>Upgrade<\/strong>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/upgrade-selection-in-solution-explorer-2.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249594\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/upgrade-selection-in-solution-explorer-2.png\" alt=\"Image upgrade selection in solution explorer \" width=\"2245\" height=\"1432\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/upgrade-selection-in-solution-explorer-2.png 2245w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/upgrade-selection-in-solution-explorer-2-300x191.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/upgrade-selection-in-solution-explorer-2-1024x653.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/upgrade-selection-in-solution-explorer-2-768x490.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/upgrade-selection-in-solution-explorer-2-1536x980.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/upgrade-selection-in-solution-explorer-2-2048x1306.png 2048w\" sizes=\"(max-width: 2245px) 100vw, 2245px\" \/><\/a><\/p>\n<p>The tool will open a window offering you to either create a new report or open an existing one.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/new-report.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249510\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/new-report.png\" alt=\"Image new report\" width=\"1669\" height=\"902\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/new-report.png 1669w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/new-report-300x162.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/new-report-1024x553.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/new-report-768x415.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/new-report-1536x830.png 1536w\" sizes=\"(max-width: 1669px) 100vw, 1669px\" \/><\/a><\/p>\n<p><span class=\"TrackChangeTextInsertion TrackedChange SCXW76614735 BCX8\"><span class=\"TextRun SCXW76614735 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW76614735 BCX8\">To start a new report, select the projects you want to analyze on the next screen. Web projects are already checked for <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW76614735 BCX8\"><span class=\"TextRun SCXW76614735 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW76614735 BCX8\">you,<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW76614735 BCX8\"><span class=\"TextRun SCXW76614735 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW76614735 BCX8\"> but you may change the <\/span><span class=\"NormalTextRun SCXW76614735 BCX8\">selec<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW76614735 BCX8\"><span class=\"TextRun SCXW76614735 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW76614735 BCX8\">tion<\/span><span class=\"NormalTextRun SCXW76614735 BCX8\"> by checking or unchecking the boxes next to the projects. When the tool runs its assessment, it also analyzes the dependencies for your selected projects.<\/span><\/span><\/span><span class=\"EOP SCXW76614735 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-projects.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249512\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-projects.png\" alt=\"Image select projects\" width=\"1662\" height=\"764\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-projects.png 1662w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-projects-300x138.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-projects-1024x471.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-projects-768x353.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-projects-1536x706.png 1536w\" sizes=\"(max-width: 1662px) 100vw, 1662px\" \/><\/a><\/p>\n<p>On the next screen you can select your preferred target framework for the upgrade. If you need help deciding which target framework is right for you, please check out this <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/the-future-of-net-standard\/\">blog post<\/a>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-tfm.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249513\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-tfm.png\" alt=\"Image select tfm\" width=\"1666\" height=\"817\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-tfm.png 1666w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-tfm-300x147.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-tfm-1024x502.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-tfm-768x377.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/select-tfm-1536x753.png 1536w\" sizes=\"(max-width: 1666px) 100vw, 1666px\" \/><\/a><\/p>\n<p><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">Next you will <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">choose<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\"> the components <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">from the pre<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">viously selected projects that <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">you want to analyz<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">e<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">.<\/span><\/span><\/span> <span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\">You can<\/span><\/span><\/span> <span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\">select<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\"> just your source code and settings<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\">,<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\"> or <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\">also include <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\">all<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\"> your code&#8217;s binary dependencies<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW16181506 BCX8\"> for analysis.<\/span><\/span><\/span> <span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">A <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">custom config file <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">may also be <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">included <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">to change the way <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">that <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">the rules for analysis work.<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\"> After this selection, hit <strong>Analyze<\/strong> to begin the assessment of your applica<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW16181506 BCX8\"><span class=\"TextRun SCXW16181506 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW16181506 BCX8\">tion and receive your report<\/span><\/span><\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/what-to-analyze-in-selected-project.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249515\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/what-to-analyze-in-selected-project.png\" alt=\"Image what to analyze in selected project\" width=\"1666\" height=\"847\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/what-to-analyze-in-selected-project.png 1666w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/what-to-analyze-in-selected-project-300x153.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/what-to-analyze-in-selected-project-1024x521.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/what-to-analyze-in-selected-project-768x390.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/what-to-analyze-in-selected-project-1536x781.png 1536w\" sizes=\"(max-width: 1666px) 100vw, 1666px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Analyze applications with the CLI<\/strong><\/h2>\n<p>After you&#8217;ve\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/porting\/upgrade-assistant-install#install-the-net-global-tool\">installed the .NET Upgrade Assistant CLI tool<\/a>, open a terminal window and navigate to the directory that contains the project you want to analyze. You can use the following command to see the available options the CLI provides:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">upgrade-assistant --help<\/code><\/pre>\n<p>Run analysis on your application with:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">upgrade-assistant analyze<\/code><\/pre>\n<p>The CLI tool provides an interactive way of choosing which project to analyze. Use the arrow keys to select an item, and press\u00a0Enter\u00a0to run the item. Select the project you want to analyze. Follow the prompts in the command terminal to make the same selections as outlined above in the Visual Studio extension. When the analysis is done, you will be provided with a report in the format you selected.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Interpret Results<\/strong><\/h2>\n<p>After analysis in Visual Studio, the tool will provide you with a dashboard summary and detailed report. The report will show you information about the number of projects analyzed, issues and incidents found, and an estimate of how much effort each issue, incident, and project will take to be fixed.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249597\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2.png\" alt=\"Image dashboard view 2\" width=\"2244\" height=\"1432\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2.png 2244w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-300x191.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-1024x653.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-768x490.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-1536x980.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/dashboard-view-2-2048x1307.png 2048w\" sizes=\"(max-width: 2244px) 100vw, 2244px\" \/><\/a><\/p>\n<p>You can view aggregate issues for the whole solution or dig into project specific views. Here you can see detailed information on each incident, get help on how to fix them, jump to their location in code, and so on. You can view these issues by type of issue or by component so that you can understand where the bulk of the issues in the report originate from.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/project-specific-issues.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249530\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/project-specific-issues.png\" alt=\"Image project specific issues\" width=\"1657\" height=\"1268\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/project-specific-issues.png 1657w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/project-specific-issues-300x230.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/project-specific-issues-1024x784.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/project-specific-issues-768x588.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/project-specific-issues-1536x1175.png 1536w\" sizes=\"(max-width: 1657px) 100vw, 1657px\" \/><\/a><\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h2><strong>Share results<\/strong><\/h2>\n<p><span class=\"TextRun SCXW112684195 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW112684195 BCX8\">Both the CLI tool and Visual Studio allow you to save the results of the analysis in various<\/span><span class=\"NormalTextRun SCXW112684195 BCX8\">\u00a0formats<\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW112684195 BCX8\"><span class=\"TextRun SCXW112684195 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW112684195 BCX8\"> so that you may share the report with<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW112684195 BCX8\"><span class=\"TextRun SCXW112684195 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW112684195 BCX8\"> others<\/span><\/span><\/span><span class=\"TextRun SCXW112684195 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW112684195 BCX8\">. <\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW112684195 BCX8\"><span class=\"TextRun SCXW112684195 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW112684195 BCX8\">In Visual Studio, j<\/span><\/span><\/span><span class=\"TextRun SCXW112684195 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW112684195 BCX8\">ust click the <\/span><span class=\"NormalTextRun SCXW112684195 BCX8\">export icon in the top right corner of the tool window and select your desired export format.<\/span><\/span><span class=\"EOP SCXW112684195 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/white-theme-export.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249595\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/white-theme-export.png\" alt=\"Image white theme export\" width=\"237\" height=\"79\" \/><\/a><\/p>\n<p><span class=\"TrackChangeTextInsertion TrackedChange SCXW233218376 BCX8\"><span class=\"TextRun SCXW233218376 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW233218376 BCX8\">In the CLI tool<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW233218376 BCX8\"><span class=\"TextRun SCXW233218376 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW233218376 BCX8\">, the final <\/span><span class=\"NormalTextRun SCXW233218376 BCX8\">selection<\/span><span class=\"NormalTextRun SCXW233218376 BCX8\"> before your report is generated <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW233218376 BCX8\"><span class=\"TextRun SCXW233218376 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW233218376 BCX8\">will be to select your desired export format<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW233218376 BCX8\"><span class=\"TextRun SCXW233218376 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW233218376 BCX8\">. Press <\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW233218376 BCX8\"><span class=\"TextRun SCXW233218376 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW233218376 BCX8\">E<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW233218376 BCX8\"><span class=\"TextRun SCXW233218376 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW233218376 BCX8\">nter to select, then you will be prompted to enter a name for your report<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW233218376 BCX8\"><span class=\"TextRun SCXW233218376 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW233218376 BCX8\">. The tool will then generate your report in the format you selected.<\/span><\/span><\/span><span class=\"EOP TrackedChange SCXW233218376 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/CLI-export.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249596\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/CLI-export.png\" alt=\"Image CLI export\" width=\"1144\" height=\"434\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/CLI-export.png 1144w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/CLI-export-300x114.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/CLI-export-1024x388.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/CLI-export-768x291.png 768w\" sizes=\"(max-width: 1144px) 100vw, 1144px\" \/><\/a><\/p>\n<p><span class=\"TrackChangeTextInsertion TrackedChange TrackChangeHoverSelectColorRed SCXW110869279 BCX8\"><span class=\"TextRun SCXW110869279 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun TrackChangeHoverSelectHighlightRed SCXW110869279 BCX8\">The tool can generate reports<\/span><\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange TrackChangeHoverSelectColorRed SCXW110869279 BCX8\"><span class=\"TextRun SCXW110869279 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun TrackChangeHoverSelectHighlightRed SCXW110869279 BCX8\"> in HTML, CSV, and JSON formats.<\/span><\/span><\/span> The HTML report looks very similar to the dashboard you\u2019ll see in the Visual Studio after the analysis is completed.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/report-dashboard.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249517\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/report-dashboard.png\" alt=\"Image report dashboard\" width=\"2134\" height=\"1251\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/report-dashboard.png 2134w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/report-dashboard-300x176.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/report-dashboard-1024x600.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/report-dashboard-768x450.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/report-dashboard-1536x900.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/report-dashboard-2048x1201.png 2048w\" sizes=\"(max-width: 2134px) 100vw, 2134px\" \/><\/a><\/p>\n<p>You can export these reports with various <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/dotnet-modernization-privacy-security-improvements\/\">privacy modes<\/a> so that you can feel confident that those who receive the reports will have exactly the right amount of information required to understand what work needs to be done without risking exposing sensitive information.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/privacy-modes.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249511\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/privacy-modes.png\" alt=\"Image privacy modes\" width=\"858\" height=\"554\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/privacy-modes.png 858w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/privacy-modes-300x194.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/06\/privacy-modes-768x496.png 768w\" sizes=\"(max-width: 858px) 100vw, 858px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Useful Materials<\/strong><\/h3>\n<p>For supported languages, project types, and upgrade paths, please refer to our <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/porting\/upgrade-assistant-overview\">Microsoft Learn documentation<\/a> for the .NET Upgrade Assistant.<\/p>\n<p>Documentation: <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/porting\/upgrade-assistant-overview#upgrade-with-the-cli-tool\">Overview of the .NET Upgrade Assistant &#8211; .NET Core | Microsoft Learn<\/a><\/p>\n<p>Install: <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/porting\/upgrade-assistant-install\">How to install the .NET Upgrade Assistant &#8211; .NET Core | Microsoft Learn<\/a><\/p>\n<p>Getting started: <a href=\"https:\/\/dotnet.microsoft.com\/en-us\/platform\/upgrade-assistant\/tutorial\/intro\">.NET Upgrade Assistant | Get Started (microsoft.com)<\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Feedback<\/strong><\/h3>\n<p><span class=\"TextRun SCXW256276349 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW256276349 BCX8\">Please give us your feedback or report any issues <\/span><\/span><span class=\"TrackChangeTextInsertion TrackedChange SCXW256276349 BCX8\"><span class=\"TextRun SCXW256276349 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW256276349 BCX8\">either by filing an issue directly in the <\/span><\/span><\/span><a class=\"Hyperlink SCXW256276349 BCX8\" href=\"https:\/\/github.com\/dotnet\/upgrade-assistant\/issues\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"FieldRange SCXW256276349 BCX8\"><span class=\"TrackChangeTextInsertion TrackedChange SCXW256276349 BCX8\"><span class=\"TextRun Underlined SCXW256276349 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW256276349 BCX8\" data-ccp-charstyle=\"Hyperlink\">.NET Upgrade Assistant repository<\/span><\/span><\/span><\/span><\/a><span class=\"TrackChangeTextInsertion TrackedChange SCXW256276349 BCX8\"><span class=\"TextRun SCXW256276349 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW256276349 BCX8\">, or <\/span><\/span><\/span><span class=\"TextRun SCXW256276349 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW256276349 BCX8\">via\u202fthe <\/span><\/span><a class=\"Hyperlink SCXW256276349 BCX8\" href=\"https:\/\/learn.microsoft.com\/visualstudio\/ide\/suggest-a-feature\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"FieldRange SCXW256276349 BCX8\"><span class=\"TextRun Underlined SCXW256276349 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun CommentStart CommentHighlightPipeRestV2 CommentHighlightRest SCXW256276349 BCX8\" data-ccp-charstyle=\"Hyperlink\">Visual Studio feedback channel<\/span><\/span><\/span><\/a><span class=\"TextRun SCXW256276349 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentHighlightRest SCXW256276349 BCX8\">\u202f<\/span><span class=\"NormalTextRun CommentHighlightPipeRestV2 SCXW256276349 BCX8\">by choosing\u202fHelp\u202f|\u202fSend Feedback\u202fin Visual Studio. Please mention \u201c.NET Upgrade Assistant\u201d in the title so it will get routed to our team quickly. We appreciate your input and want to build the best tools for you!<\/span><\/span><span class=\"EOP SCXW256276349 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are thrilled to announce the latest enhancements to the .NET Upgrade Assistant. .NET Upgrade Assistant helps upgrade solutions to newer versions of .NET. Whether you\u2019re upgrading from .NET Framework to .NET 8 or just between .NET Core versions (from .NET 6 or 7 to .NET 8 or 9), .NET Upgrade Assistant can help you [&hellip;]<\/p>\n","protected":false},"author":51892,"featured_media":249517,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[237,85,294,147,6951,6953,12,6815],"class_list":["post-249505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio","tag-net","tag-asp-net","tag-extensions","tag-update","tag-upgrade","tag-upgrade-assistant","tag-visual-studio","tag-visual-studio-2022"],"acf":[],"blog_post_summary":"<p>We are thrilled to announce the latest enhancements to the .NET Upgrade Assistant. .NET Upgrade Assistant helps upgrade solutions to newer versions of .NET. Whether you\u2019re upgrading from .NET Framework to .NET 8 or just between .NET Core versions (from .NET 6 or 7 to .NET 8 or 9), .NET Upgrade Assistant can help you [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/249505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/51892"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=249505"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/249505\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/249517"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=249505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=249505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=249505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}