{"id":47062,"date":"2023-08-29T10:00:00","date_gmt":"2023-08-29T17:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=47062"},"modified":"2025-05-20T08:20:35","modified_gmt":"2025-05-20T15:20:35","slug":"upgrade-assistant-august-2023-update","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/upgrade-assistant-august-2023-update\/","title":{"rendered":"New .NET Upgrade Assistant version with feature updates and .NET MAUI improvements!"},"content":{"rendered":"<p><div class=\"alert alert-info\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Info\"><\/i><strong>UPDATED: Upgrade Assistance with GitHub Copilot<\/strong><\/p>Please visit <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/github-copilot-upgrade-dotnet\/\">https:\/\/devblogs.microsoft.com\/dotnet\/github-copilot-upgrade-dotnet\/<\/a> to learn more about the very latest updates leveraging GitHub Copilot to accelerate your upgrades for .NET!<\/div><\/p>\n<p>We are happy to announce that we have released a new version of <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-dotnettools.upgradeassistant\">.NET Upgrade Assistant<\/a> in Visual Studio that adds the ability to update features of your projects without changing the target framework and has lots of improvements for migrating to .NET MAUI!<\/p>\n<p>The .NET Upgrade Assistant is a tool that helps you upgrade your application to the latest .NET and migrate from older platforms such as Xamarin Forms and UWP to newer offerings. With this new version of the tool you can also upgrade project features without changing the .NET version.<\/p>\n<h2>What&#8217;s new in this version<\/h2>\n<h3>Upgrading project features<\/h3>\n<p>We have received feedback that in some cases you wanted to decouple .NET version upgrades from other types of upgrades, for example a very popular request was to enable conversion of the old style project file to the new SDK-style project file without changing the .NET framework version, so you can take an iterative approach in modernizing your applications. Now on the first page of Upgrade Assistant, if there are any projects features upgrades available for your project, you will see two options:\n<strong>Upgrade project to a newer .NET version<\/strong> and <strong>Upgrade project features<\/strong>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/08\/welcome-page.png\" alt=\"Upgrade Assistant welcome page showing two options\" \/><\/p>\n<p>While the first option leads you to the same experience you&#8217;ve seen in the previous versions of Upgrade Assistant that will help you upgrade your .NET version, the second introduces the new functionality we&#8217;ve added in this release. Once you click on <strong>Upgrade project features<\/strong> you&#8217;ll see upgrades available for your project.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/08\/upgrade-type-page.png\" alt=\"Upgrade type page\" \/><\/p>\n<p>Currently there is only one type available &#8211; upgrade to SDK-style project file, but we are planning on adding more types here in the future, so do let us know what kind of upgrades you need for your apps (see the section <strong>Give us feedback!<\/strong> below).<\/p>\n<p>Note that if your project file is already SDK-style, the first page with two options won&#8217;t be shown to you, and only the .NET version upgrade scenario will be offered.<\/p>\n<p>When you click <strong>Next<\/strong>, the Upgrade Assistant will convert your project file to the new style while the target framework for your project will remain unchanged.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/08\/SDK-completed.png\" alt=\"Result of the upgrade\" \/><\/p>\n<p>You can see the project file before and after the upgrade.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/08\/before-after.png\" alt=\"Project file before and after the migration\" \/><\/p>\n<h3>Updates in .NET MAUI migration<\/h3>\n<p>We have added many improvements into the .NET MAUI area!<\/p>\n<p>First of all, now you can upgrade your apps on macOS as well using the <a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/porting\/upgrade-assistant-overview?WT.mc_id=dotnet-35129-website#upgrade-with-the-cli-tool\">CLI version<\/a> of the .NET Upgrade Assistant.<\/p>\n<p>If you prefer to upgrade your Xamarin.Forms to .NET MAUI manually, we have added automatic code fixers to help you update your code. Now you can paste your Xamarin.Forms files into a .NET MAUI project and our new Upgrade Assistant C# analyzer will offer to fix your code to make it compatible with .NET MAUI. You can see a light bulb near Xamarin namespaces that offers to fix the entire document or optionally project or solution.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/08\/maui-fixers.png\" alt=\"Upgrade Assistant code fixers in Code Editor\" \/><\/p>\n<p>Besides these two big features we have added numerous bug fixes and infrastrucrure improvements to make the upgrades to .NET MAUI even better. And we will continue work in this area.<\/p>\n<h2>What\u2019s next<\/h2>\n<p>We will continue working on improving the quality of upgrades, adding more feature upgrades, improving migration for .NET MAUI and addressing your feedback.<\/p>\n<h2>Learn how to upgrade<\/h2>\n<p>We have lots of materials to help you with your upgrade process:<\/p>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/porting\/upgrade-assistant-overview\">Documentation<\/a><\/li>\n<li><a href=\"https:\/\/aka.ms\/dotnetua\">Upgrade Assistant website<\/a><\/li>\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-dotnettools.upgradeassistant\">Visual Studio extension installation<\/a><\/li>\n<li><a href=\"https:\/\/youtu.be\/3mPb4KAbz4Y\">Video &#8211; how to use Visual Studio extension<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/playlist?list=PLdo4fOcmZ0oWiK8r9OkJM3MUUL7_bOT9z\">Video series on Upgrade Assistant and ASP.NET<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/porting\/upgrade-assistant-overview?WT.mc_id=dotnet-35129-website#upgrade-with-the-cli-tool\">CLI Upgrade Assistant<\/a><\/li>\n<li><a href=\"https:\/\/dotnet.microsoft.com\/platform\/upgrade-assistant\/tutorial\/intro\">Tutorial for CLI tool (older version)<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/azure\/azure-functions\/migrate-version-1-version-4?tabs=v4%2Cazure-cli%2Cwindows&amp;pivots=programming-language-csharp\">Upgrading Azure Functions<\/a><\/li>\n<\/ul>\n<h2>Give us feedback<\/h2>\n<p>Please give us your feedback so we can build the right tools for you by filling out this <a href=\"https:\/\/www.surveymonkey.com\/r\/CX67DS8\">brief survey<\/a>.<\/p>\n<p>You can also <a href=\"https:\/\/learn.microsoft.com\/visualstudio\/ide\/suggest-a-feature\">file issues or feature requests from Visual Studio<\/a> by choosing <strong>Help<\/strong> | <strong>Send Feedback<\/strong>. Ensure to mention &#8220;Upgrade Assistant vsix&#8221; in the title.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The new version of .NET Upgrade Assistant is available in Visual Studio Marketplace with feature updates and .NET MAUI improvements!<\/p>\n","protected":false},"author":365,"featured_media":47063,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685,195,7233,197,7509,7163,509],"tags":[3267,7672],"class_list":["post-47062","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-dotnet-framework","category-maui","category-aspnet","category-aspnetcore","category-winforms","category-wpf","tag-migration","tag-upgrade-assistant"],"acf":[],"blog_post_summary":"<p>The new version of .NET Upgrade Assistant is available in Visual Studio Marketplace with feature updates and .NET MAUI improvements!<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/47062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/365"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=47062"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/47062\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/47063"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=47062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=47062"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=47062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}