{"id":59770,"date":"2026-11-12T20:01:33","date_gmt":"2026-11-12T10:01:33","guid":{"rendered":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/11\/12\/the-safe-way-to-retire-net-8-and-9-on-azure-static-web-apps\/"},"modified":"2026-11-12T20:03:09","modified_gmt":"2026-11-12T10:03:09","slug":"the-safe-way-to-retire-net-8-and-9-on-azure-static-web-apps","status":"publish","type":"post","link":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/11\/12\/the-safe-way-to-retire-net-8-and-9-on-azure-static-web-apps\/","title":{"rendered":"The Safe Way to Retire .NET 8 and 9 on Azure Static Web Apps"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In this blog post The Safe Way to Retire .NET 8 and 9 on Azure Static Web Apps we will explain what has changed, how to identify your exposure and how to move affected applications to a supported platform without unnecessary disruption.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">If your customer portal or internal application still works, it is easy to assume there is no urgent problem. However, support for .NET 8 and .NET 9 APIs on Azure Static Web Apps ended on 10 November 2026. Applications left behind may continue running, but they are no longer on a supported path for ongoing security fixes and Microsoft assistance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What technology is actually being retired?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Azure Static Web Apps is a Microsoft service for hosting modern websites and web applications. It usually serves the visible front end while optional Azure Functions handle tasks such as processing forms, looking up customer records or connecting to other business systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">.NET is the Microsoft software platform used to build many of those background functions. The retirement mainly affects Static Web Apps with managed APIs running on .NET 8 or .NET 9. A simple website with no .NET API may not be affected, even if it uses the same Azure service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The important point for IT managers is that this is not necessarily a website replacement project. In many cases, the front end can remain unchanged while the API is upgraded to .NET 10, Microsoft\u2019s supported long-term release for this migration path.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why an application can look healthy while risk is growing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">End of support does not normally switch an application off overnight. The home page may load, employees may sign in and customers may continue submitting requests.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The problem appears later. An unsupported component may miss security updates, fail a compliance review or become difficult to restore after an unrelated change. Microsoft support may also require the application to be upgraded before helping investigate a production issue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This matters for organisations following the Essential Eight, the Australian Government\u2019s baseline cybersecurity framework. Keeping applications patched and supported is a central part of reducing exposure to known vulnerabilities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our earlier Static Web Apps remediation checklist explains how to locate affected applications. The checklist below focuses on controlling the migration and proving that the risk has been removed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The remediation checklist for IT managers<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Build an application and ownership register<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Start with every Azure Static Web App across all subscriptions, not just the applications your internal team remembers. Acquisitions, old projects and test subscriptions often contain forgotten production dependencies.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Record the Azure subscription, resource group and application name.<\/li>\n<li>Link each application to its source-code repository.<\/li>\n<li>Identify the business owner and technical owner.<\/li>\n<li>Confirm whether the application has an API folder or linked Azure Function.<\/li>\n<li>Classify its importance as critical, important or low impact.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Do not rely on the Azure portal alone. The .NET version is commonly defined inside the application repository, so access to GitHub or Azure DevOps is essential.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Search for .NET 8 and .NET 9 references<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ask your development team or provider to search configuration files and project files. The following command can help when scanning a checked-out repository:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rg &#39;dotnet(-isolated)?:\\.0|&amp;lt;TargetFramework&amp;gt;net(8|9)\\.0&amp;lt;\/TargetFramework&amp;gt;&#39;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Look for values such as <code>dotnet:8.0<\/code>, <code>dotnet-isolated:8.0<\/code>, <code>dotnet-isolated:9.0<\/code>, <code>net8.0<\/code> and <code>net9.0<\/code>. Record the result rather than immediately changing it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A clean search is not complete evidence by itself. Build pipelines, deployment templates and separate API repositories may also contain runtime settings.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Confirm whether the API is in-process or isolated<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There are two ways .NET code can run inside Azure Functions. The older in-process model runs the application closely coupled to the Functions host. The isolated model runs it separately, giving Microsoft and application teams more flexibility when updating .NET versions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">.NET 10 support in Azure Static Web Apps requires the isolated model. If an application currently uses <code>dotnet:8.0<\/code>, simply changing the version number is not enough. The project structure, startup process, software packages and some function code may need adjustment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This distinction is where rushed remediation projects often fail. Make it a specific question in your plan: \u201cIs this a version upgrade, or a version and execution-model migration?\u201d<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Select the right destination<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For most managed APIs, the practical destination is .NET 10 using the isolated worker model. The application project and Static Web Apps configuration must agree on the target.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The configuration should include:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n &amp;quot;platform&amp;quot;: {\n &amp;quot;apiRuntime&amp;quot;: &amp;quot;dotnet-isolated:10.0&amp;quot;\n }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The project file should also target .NET 10:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&amp;lt;PropertyGroup&amp;gt;\n &amp;lt;TargetFramework&amp;gt;net10.0&amp;lt;\/TargetFramework&amp;gt;\n &amp;lt;AzureFunctionsVersion&amp;gt;v4&amp;lt;\/AzureFunctionsVersion&amp;gt;\n &amp;lt;OutputType&amp;gt;Exe&amp;lt;\/OutputType&amp;gt;\n&amp;lt;\/PropertyGroup&amp;gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Some applications may have requirements that do not fit the managed API model. In that case, the API can be moved to a separately managed Azure Functions app or another appropriate Azure service. This offers more control, but it can add cost and operational responsibility.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Test business processes, not just the home page<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A successful deployment does not prove that the application works. Testing must cover the business activities that depend on the API.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sign-in, sign-out and user-role checks.<\/li>\n<li>Form submissions and approval workflows.<\/li>\n<li>Customer, finance and document-system integrations.<\/li>\n<li>Scheduled jobs, notifications and email delivery.<\/li>\n<li>Error handling, logs and operational alerts.<\/li>\n<li>Performance during expected busy periods.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Use a staging environment with production-like settings wherever possible. Confirm that secrets, connection strings and application settings are available without copying sensitive information into source code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Plan deployment and rollback together<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A common scenario is a 180-person organisation with a customer portal that appears straightforward. The front end works after the upgrade, but quote requests fail because one API dependency is incompatible with the isolated model.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Without a rollback plan, the team is forced to troubleshoot under pressure while customers wait. With a tested deployment window, a known-good release and named decision-maker, the previous version can be restored while the issue is corrected.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your change plan should define who deploys, who tests, who approves the result and what triggers a rollback. It should also explain how the organisation will operate if a critical function is temporarily unavailable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Capture evidence and monitor after deployment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Do not close the task when the pipeline turns green. Record the updated runtime, deployment date, test results, approver and source-code commit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Monitor API failures, response times, authentication errors and integration queues after release. Review again after one business day and one full operating cycle, particularly if the application processes monthly or weekly tasks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Turn this retirement into a repeatable process<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The real lesson is not limited to .NET 8 and .NET 9. Azure services, software runtimes and security products all have support deadlines. Treating each retirement as an emergency creates avoidable cost and business risk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Create a quarterly lifecycle review covering application runtimes, operating systems, databases and major cloud services. Our guide to Azure retirements to plan for before they disrupt operations provides a broader approach to ownership, budgeting and dependency management.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The business outcome is straightforward: supported applications, fewer emergency changes, clearer compliance evidence and less chance of a customer-facing failure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CloudProInc combines more than 20 years of enterprise IT experience with hands-on work as a Microsoft Partner and Wiz Security Integrator. If you are unsure whether your Static Web Apps are still running .NET 8 or .NET 9, we are happy to review the environment and give you a practical remediation plan with no strings attached.<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Support has ended, but rushed upgrades can create new risks. Use this practical checklist to move Azure Static Web Apps APIs to .NET 10 safely.<\/p>\n","protected":false},"author":1,"featured_media":59772,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[27,76,16,13],"tags":[],"class_list":["post-59770","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-net","category-application-development","category-microsoft-azure","category-blog"],"jetpack-related-posts":[{"id":59718,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/11\/11\/static-web-apps-net-8-and-9-retirement-remediation-checklist\/","url_meta":{"origin":59770,"position":0},"title":"Static Web Apps .NET 8 and 9 Retirement Remediation Checklist","author":"CPI Staff","date":"November 11, 2026","format":false,"excerpt":"A practical checklist for finding affected Azure Static Web Apps, moving them to .NET 10 and reducing security, compliance and operational risk.","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/net\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2026\/11\/static-web-apps-net-8-and-9-retirement-remediation-checklist.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2026\/11\/static-web-apps-net-8-and-9-retirement-remediation-checklist.png 1x, \/wp-content\/uploads\/2026\/11\/static-web-apps-net-8-and-9-retirement-remediation-checklist.png 1.5x, \/wp-content\/uploads\/2026\/11\/static-web-apps-net-8-and-9-retirement-remediation-checklist.png 2x, \/wp-content\/uploads\/2026\/11\/static-web-apps-net-8-and-9-retirement-remediation-checklist.png 3x, \/wp-content\/uploads\/2026\/11\/static-web-apps-net-8-and-9-retirement-remediation-checklist.png 4x"},"classes":[]},{"id":751,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/generate-dall-e-images-with-net-c-console-application\/","url_meta":{"origin":59770,"position":1},"title":"Generate DALL-E Images with .NET C# Console Application","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"This Azure OpenAI article will show you how to generate DALL-E images with .NET C# Console application using the Azure SDK for .NET. Table of contentsAzure SDK for .NETGenerate DALL-E Images with .NET C# Console ApplicationInstall-PackageProgram.csRelated Articles Azure SDK for .NET allows us to build Gen-AI applications using .NET, the\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/net\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2024\/07\/Reading-Handwriting-with-Azure-AI-Vision-and-.NET-C.webp","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2024\/07\/Reading-Handwriting-with-Azure-AI-Vision-and-.NET-C.webp 1x, \/wp-content\/uploads\/2024\/07\/Reading-Handwriting-with-Azure-AI-Vision-and-.NET-C.webp 1.5x, \/wp-content\/uploads\/2024\/07\/Reading-Handwriting-with-Azure-AI-Vision-and-.NET-C.webp 2x"},"classes":[]},{"id":53378,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/publish-a-blazor-net-app-with-vs-code-to-azure\/","url_meta":{"origin":59770,"position":2},"title":"Publish a Blazor .NET App With VS Code to Azure","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"In this Microsoft Azure blog post, we\u2019ll walk through how to publish a Blazor .NET app using Visual Studio Code (VS Code) to Azure. VS Code, with its rich ecosystem of extensions and integrations, is more than just a code editor. It enables developers to build, test, integrate, and deploy\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/net\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/05\/publish-blazor-app-with-VS-code.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/05\/publish-blazor-app-with-VS-code.png 1x, \/wp-content\/uploads\/2025\/05\/publish-blazor-app-with-VS-code.png 1.5x, \/wp-content\/uploads\/2025\/05\/publish-blazor-app-with-VS-code.png 2x"},"classes":[]},{"id":669,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/effortless-web-app-deployment-with-azure-cli\/","url_meta":{"origin":59770,"position":3},"title":"Effortless Web App Deployment with Azure CLI","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"This Azure Web Apps article will show how to use az webapp up to for quick deployment of web apps with minimal configuration. Deploying web applications has never been easier, thanks to the Azure CLI's az webapp up command. In this article, we'll explore how to quickly deploy web apps\u2026","rel":"","context":"In &quot;App Service&quot;","block_context":{"text":"App Service","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/app-service\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2024\/09\/How-to-Create-an-Azure-AI-Language-Account-Using-REST-API.webp","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2024\/09\/How-to-Create-an-Azure-AI-Language-Account-Using-REST-API.webp 1x, \/wp-content\/uploads\/2024\/09\/How-to-Create-an-Azure-AI-Language-Account-Using-REST-API.webp 1.5x, \/wp-content\/uploads\/2024\/09\/How-to-Create-an-Azure-AI-Language-Account-Using-REST-API.webp 2x"},"classes":[]},{"id":390,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/integrating-azure-ai-vision-for-image-analysis-in-c-applications\/","url_meta":{"origin":59770,"position":4},"title":"Integrating Azure AI Vision for Image Analysis in C# Applications","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"This Azure AI Services article will show how to integrate Azure AI Vision for image analysis in C# applications using .NET. Azure AI Services offers access to many AI services, including the popular Azure OpenAI service. Today, we will focus on Azure AI Vision, which offers AI capabilities when working\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2024\/07\/Integrating-Azure-AI-Vision-for-Image-Analysis-in-C-Applications.webp","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2024\/07\/Integrating-Azure-AI-Vision-for-Image-Analysis-in-C-Applications.webp 1x, \/wp-content\/uploads\/2024\/07\/Integrating-Azure-AI-Vision-for-Image-Analysis-in-C-Applications.webp 1.5x, \/wp-content\/uploads\/2024\/07\/Integrating-Azure-AI-Vision-for-Image-Analysis-in-C-Applications.webp 2x"},"classes":[]},{"id":53466,"url":"https:\/\/www.cloudproinc.com.au\/index.php\/2026\/10\/12\/top-vs-code-extensions-for-developers-and-devops-engineers\/","url_meta":{"origin":59770,"position":5},"title":"Top VS Code Extensions for Developers and DevOps Engineers","author":"CPI Staff","date":"October 12, 2026","format":false,"excerpt":"If you're searching for the Top VS Code Extensions for Developers and DevOps Engineers, you've come to the right place. Visual Studio Code (VS Code) has become one of the most popular editors for modern software development due to its speed, flexibility, and the massive ecosystem of extensions. In this\u2026","rel":"","context":"In &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/www.cloudproinc.com.au\/index.php\/category\/blog\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/07\/image-13.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/07\/image-13.png 1x, \/wp-content\/uploads\/2025\/07\/image-13.png 1.5x, \/wp-content\/uploads\/2025\/07\/image-13.png 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"\/wp-content\/uploads\/2026\/11\/the-safe-way-to-retire-net-8-and-9-on-azure-static-web-apps.png","_links":{"self":[{"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/59770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/comments?post=59770"}],"version-history":[{"count":2,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/59770\/revisions"}],"predecessor-version":[{"id":59773,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/59770\/revisions\/59773"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media\/59772"}],"wp:attachment":[{"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media?parent=59770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/categories?post=59770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/tags?post=59770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}