{"id":59863,"date":"2026-04-07T10:00:00","date_gmt":"2026-04-07T17:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=59863"},"modified":"2026-04-15T17:04:46","modified_gmt":"2026-04-16T00:04:46","slug":"aspnet-core-2-3-end-of-support","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/aspnet-core-2-3-end-of-support\/","title":{"rendered":"ASP.NET Core 2.3 end of support announcement"},"content":{"rendered":"<p><div class=\"alert alert-primary\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Info\"><\/i><strong>Update<\/strong><\/p>The ASP.NET Core 2.3 end of support date was updated from April 7, 2027 to April 13, 2027 to align with the Microsoft servicing release cycles. Additional context was also added to clarify that ASP.NET Core 2.3 is no longer recommended as a migration strategy.<\/div><\/p>\n<p>Today we are announcing that ASP.NET Core 2.3 will reach <strong>end of support on April 13, 2027<\/strong>. After that date, Microsoft will no longer provide security patches, bug fixes, or technical support for ASP.NET Core 2.3.<\/p>\n<p>ASP.NET Core 2.3 was supported on .NET Framework to help facilitate migrations to ASP.NET Core and .NET Core. However, the platform has evolved significantly since then, and ASP.NET Core 2.3 is now far out of date compared to currently <a href=\"https:\/\/dotnet.microsoft.com\/platform\/support\/policy\/dotnet-core#lifecycle\">supported releases<\/a>. As a result, continuing support no longer aligns with our goal of helping customers move to a secure, modern, and actively maintained platform. While ASP.NET Core 2.3 remains supported until its end-of-support date, it is no longer recommended as a migration strategy. Customers should instead follow our <a href=\"https:\/\/learn.microsoft.com\/aspnet\/core\/migration\/fx-to-core\/\">recommended guidance<\/a> for migrating from .NET Framework to modern ASP.NET Core.<\/p>\n<p>This announcement provides the required 12 months of advance notice, as defined by the <a href=\"https:\/\/learn.microsoft.com\/lifecycle\/faq\/general-lifecycle#what-is-the-lifecycle-policy-for-tools-\">Microsoft Support Lifecycle Policy<\/a> for products classified as &#8220;Tools.&#8221;<\/p>\n<h2>Current support policy<\/h2>\n<p>ASP.NET Core 2.3 packages (latest patched version only) are currently <a href=\"https:\/\/dotnet.microsoft.com\/platform\/support\/policy\/aspnet#dotnet-core\">supported<\/a> only with .NET Framework (they&#8217;re already unsupported on the .NET Core runtime). After April 13, 2027, this support will end and ASP.NET Core 2.3 will not be supported on any version of NET Framework either.<\/p>\n<p>Note that the <a href=\"https:\/\/dotnet.microsoft.com\/platform\/support\/policy\/aspnet\/2.3-packages\">ASP.NET Core 2.3 packages<\/a> include the Entity Framework 2.3 packages, which will end support on the same date.<\/p>\n<h2>Impact of end of support<\/h2>\n<p>After ASP.NET Core 2.3 reaches end of support:<\/p>\n<ul>\n<li>No new security updates will be issued for ASP.NET Core 2.3.<\/li>\n<li>Continuing to use an unsupported version may expose your applications to security vulnerabilities.<\/li>\n<li>Technical support will no longer be available for ASP.NET Core 2.3.<\/li>\n<li>The ASP.NET Core 2.3 packages will be deprecated.<\/li>\n<\/ul>\n<h2>Upgrade recommendation<\/h2>\n<p>We understand that upgrading is an investment, and we want to make the process as smooth as possible. Modern versions of .NET offer significant improvements in performance, security, and developer productivity that make the upgrade well worth the effort.<\/p>\n<p>We recommend upgrading to a <a href=\"https:\/\/dotnet.microsoft.com\/download\/dotnet\">currently supported version of .NET<\/a>, such as .NET 10 (LTS).<\/p>\n<p>To help with the upgrade process, we recommend using <a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/porting\/github-copilot-app-modernization\/overview\">GitHub Copilot modernization<\/a>, which provides AI-powered assistance to help you analyze, plan, and execute your migration to a modern .NET version.<\/p>\n<h2>Resources<\/h2>\n<ul>\n<li><a href=\"https:\/\/dotnet.microsoft.com\/platform\/support\/policy\/aspnet\">ASP.NET Core Support Policy<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/porting\/github-copilot-app-modernization\/overview\">GitHub Copilot modernization<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/aspnet\/core\/migration\/proper-to-2x\/\">Migrate from ASP.NET to ASP.NET Core<\/a><\/li>\n<\/ul>\n<h2>Closing<\/h2>\n<p>ASP.NET Core 2.3 will reach end of support on April 13, 2027. We strongly recommend starting your migration to a supported version of .NET today, leveraging tools like GitHub Copilot modernization to facilitate the process. If you have any questions or need assistance, please reach out to us through our support channels.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ASP.NET Core 2.3 will reach end of support on April 13, 2027. Learn what this means for your applications and how to upgrade to a modern supported version of .NET.<\/p>\n","protected":false},"author":417,"featured_media":59920,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685,7509,7176],"tags":[8144,8141,8143,7228,7869,8142],"class_list":["post-59863","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-aspnetcore","category-lifecycle","tag-app-modernization","tag-aspnet-core","tag-dotnet-framework","tag-end-of-support","tag-github-copilot","tag-support-lifecycle"],"acf":[],"blog_post_summary":"<p>ASP.NET Core 2.3 will reach end of support on April 13, 2027. Learn what this means for your applications and how to upgrade to a modern supported version of .NET.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/59863","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\/417"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=59863"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/59863\/revisions"}],"predecessor-version":[{"id":59919,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/59863\/revisions\/59919"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/59920"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=59863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=59863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=59863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}