03-05-2019, 09:08 PM
Announcing ASP.NET Core 2.2, available today!
<div style="margin: 5px 5% 10px 5%;"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/announcing-asp-net-core-2-2-available-today.jpg" width="58" height="58" title="" alt="" /></div><div><div class="row justify-content-center">
<div class="col-md-2">
<div><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/announcing-asp-net-core-2-2-available-today.jpg" width="58" height="58" alt="" class="avatar avatar-58 wp-user-avatar wp-user-avatar-58 photo avatar-default" /></p>
<p>Damian</p>
</div>
</div>
</div>
<div class="entry-meta">
<p>December 4th, 2018</p>
<p> <!–<span class="posted-on">Posted on <a href="https://devblogs.microsoft.com/aspnet/asp-net-core-2-2-available-today/" rel="bookmark"><time class="entry-date published" datetime="2018-12-04T08:30:16+00:00">December 4, 2018</time><time class="updated" datetime="2019-02-18T16:58:44+00:00"> (February 18, 2019) </time></a></span><span class="byline"> by <span class="author vcard"><a class="url fn n" href="https://devblogs.microsoft.com/aspnet/author/damiandamianedwards-com/">Damian Edwards</a></span></span>–> </div>
<p><!-- .entry-meta --> </p>
<p>I’m happy to announce that ASP.NET Core 2.2 is available as part of <a href="https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-net-core-2-2/">.NET Core 2.2</a> today!</p>
<h2>How to get it</h2>
<p>You can download the new .NET Core SDK (2.2.100) for your dev machine and build servers from the <a href="https://dotnet.microsoft.com/download/dotnet-core/2.2">.NET Core 2.2 download page</a>. New Windows Server hosting, runtime installers and binary archives are also available from this page for updating servers.</p>
<p>This release updates <a href="https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-net-core-2-2/">.NET Core</a>, ASP.NET Core, and <a href="https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-entity-framework-core-2-2/">Entity Framework Core</a> to version 2.2.0. The new SDK version is 2.2.100. Visual Studio requirements are as follows:</p>
<p><a href="https://blogs.msdn.microsoft.com/visualstudio/2018/12/04/making-every-developer-more-productive-with-visual-studio-2019/">Visual Studio 2019 16.0 Preview 1</a>, also available today, includes the .NET Core SDK 2.2.100 as an optional component.</p>
<h2>What’s new?</h2>
<p>The main theme for this ASP.NET Core release was to improve developer productivity and platform functionality with regard to building Web/HTTP APIs. As usual, we made some performance improvements as well. We’ve posted about these features as part of the preview releases and you as such you can read about them by following the links below:</p>
<h3>Health Checks integration with BeatPulse</h3>
<p>We’re happy to announce that the <a href="https://github.com/Xabaril/BeatPulse">BeatPulse project</a> now supports the new Health Checks API, which means you can easily add checks for dozens of popular systems and dependencies using their great support. Here’s a message from the BeatPulse team about their support for our new Health Checks API:</p>
<blockquote>
<p><a href="https://github.com/Xabaril/BeatPulse">BeatPulse</a> is a community driven project that was created to provide health checking mechanisms for systems, networking and a wide variety of services that are common within the enterprise, e.g. SqlServer, MySql,Postgress, Redis, Kafka and many more . When Microsoft announced ASP.NET Core Health Checks for the 2.2 roadmap, the BeatPulse team ported all the existing liveness packages and features to work with the new Microsoft Health Checks abstractions at the repository <a href="https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks">AspNetCore.Diagnostics.HealthChecks</a>. Apart from all the health checking packages, the BeatPulse team also incorporates other features like pulse tracking (Application Insights and Prometheus), failure notifications and a UI interface were we can configure different monitored systems and have a global view of health status. This UI is available as a Docker image published in Docker Hub.</p>
</blockquote>
<h3>More coming soon</h3>
<p>When we announced planning for ASP.NET Core 2.2, we mentioned a number of features that aren’t detailed above, including API Authorization with IdentityServer4, Open API (Swagger) driven client code generation, and the HTTP REPL command line tool. These features are still being worked on and aren’t quite ready for release, however we expect to make them available as add-ons in the coming months. Thanks for your patience while we complete these experiences and get them ready for you all to try out.</p>
<h2>Migrating a project to ASP.NET Core 2.2</h2>
<p><span>To migrate an ASP.NET Core project from 2.1 to 2.2, open the project’s .csproj file and change the value of the <code>TargetFramework</code> element to <code>netcoreapp2.2</code>. You do not need to do this if you’re targeting .NET Framework 4.x.</span></p>
<p>Finish by updating your NuGet package references to the latest stable versions. Note that projects targeting .NET Core (rather than .NET Framework) should not have a package version specified for the Microsoft.AspNetCore.App package reference as this will be managed automatically by the SDK. Doing so will now result in a build warning.</p>
<p>For more information on <a href="https://docs.microsoft.com/en-us/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio">upgrading to ASP.NET Core 2.2 see here</a>.</p>
<h2>Support life cycle</h2>
<p>ASP.NET Core 2.2 is the latest release in the “Current” .NET Core train. This represents the first release since the declaration of 2.1 LTS that reestablishes a separate LTS and Current train. The Current train is where new features, enhancements, and regular bug fixes are applied and is recommended for most customers. Note that both LTS and Current releases receive servicing updates for security and critical stability fixes. It is currently expected that 2.2 will the last non-servicing release in the 2.x life cycle, and as such customers not using an LTS release will need to migrate to 3.0 GA, within 3 months of its release in the second half of 2019 in order to remain supported.</p>
<p>Read more about the <a href="https://dotnet.microsoft.com/platform/support-policy/dotnet-core">.NET Core support policy here</a>.</p>
<h2>Availability in Azure App Service</h2>
<p>The .NET Core 2.2 SDK, runtime, and updated ASP.NET Core IIS Module are in the process of being deployed to Azure App Service regions around the world. We expect this to be completed before the end of December 2018.</p>
<p>Some regions may receive the updated runtime before the updated ASP.NET Core IIS Module (ANCM), which is required by default for projects targeting ASP.NET Core 2.2. It’s also a requirement for the new in-process hosting feature. If you receive startup errors after deploying to Azure App Service, try configuring your project to use the existing version of ANCM by setting the <code>AspNetCoreModule</code> property to the value “AspNetCoreModule”, e.g.:</p>
<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --> </p>
<div id="crayon-5c72e466e1b97858306251" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate">
<p><textarea class="crayon-plain print-no" readonly="readonly"><br />
&lt;PropertyGroup&gt; &lt;TargetFramework&gt;netcoreapp2.2&lt;/TargetFramework&gt; &lt;AspNetCoreModuleName&gt;AspNetCoreModule&lt;/AspNetCoreModuleName&gt; &lt;AspNetCoreHostingModel&gt;OutOfProcess&lt;/AspNetCoreHostingModel&gt; <br />
&lt;/PropertyGroup&gt;</textarea></p>
<div class="crayon-main">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums "> </td>
<p> </p>
<td class="crayon-code">
<div class="crayon-pre">
<p><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-v">PropertyGroup</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
<p><span class="crayon-h"> </span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-v">TargetFramework</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span><span class="crayon-v">netcoreapp2</span><span class="crayon-sy">.</span><span class="crayon-cn">2</span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-o">/</span><span class="crayon-v">TargetFramework</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
<p><span class="crayon-h"> </span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-v">AspNetCoreModuleName</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span><span class="crayon-v">AspNetCoreModule</span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-o">/</span><span class="crayon-v">AspNetCoreModuleName</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
<p><span class="crayon-h"> </span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-v">AspNetCoreHostingModel</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span><span class="crayon-v">OutOfProcess</span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-o">/</span><span class="crayon-v">AspNetCoreHostingModel</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
<p><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-o">/</span><span class="crayon-v">PropertyGroup</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
</div>
</td>
<p> </tr>
</table>
</div></div>
<p><!-- [Format Time: 0.0116 seconds] --></p>
<p>Once the target region has been updated with the latest ANCM version, you can remove that property altogether and redeploy the application to have it switch to using the new ANCM.</p>
<p>This release also adds better 64-bit support for .NET Core in Azure App Service. If you’re running your ASP.NET Core application on .NET Core 2.2 with in-process hosting, you can simply <a href="https://docs.microsoft.com/en-us/azure/app-service/web-sites-configure">enable the 64-bit option in the Azure Portal</a> and the site will now run in a 64-bit process. For other information on how to run your ASP.NET Core application in a 64-bit process in Azure App Service with other configurations, see <a href="https://blogs.msdn.microsoft.com/webdev/2018/01/09/64-bit-asp-net-core-on-azure-app-service/">this article</a>.</p>
<h2>Giving feedback</h2>
<p><span>As always, please provide us feedback by logging issues at </span><a href="https://github.com/aspnet">https://github.com/aspnet/AspNetCore</a><span>. We look forward to hearing from you!</span></p>
<div class="authorinfoarea">
<div><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/announcing-asp-net-core-2-2-available-today-1.jpg" width="96" height="96" alt="" class="avatar avatar-96 wp-user-avatar wp-user-avatar-96 photo avatar-default" /></div>
</p></div>
</div>
<div style="margin: 5px 5% 10px 5%;"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/announcing-asp-net-core-2-2-available-today.jpg" width="58" height="58" title="" alt="" /></div><div><div class="row justify-content-center">
<div class="col-md-2">
<div><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/announcing-asp-net-core-2-2-available-today.jpg" width="58" height="58" alt="" class="avatar avatar-58 wp-user-avatar wp-user-avatar-58 photo avatar-default" /></p>
<p>Damian</p>
</div>
</div>
</div>
<div class="entry-meta">
<p>December 4th, 2018</p>
<p> <!–<span class="posted-on">Posted on <a href="https://devblogs.microsoft.com/aspnet/asp-net-core-2-2-available-today/" rel="bookmark"><time class="entry-date published" datetime="2018-12-04T08:30:16+00:00">December 4, 2018</time><time class="updated" datetime="2019-02-18T16:58:44+00:00"> (February 18, 2019) </time></a></span><span class="byline"> by <span class="author vcard"><a class="url fn n" href="https://devblogs.microsoft.com/aspnet/author/damiandamianedwards-com/">Damian Edwards</a></span></span>–> </div>
<p><!-- .entry-meta --> </p>
<p>I’m happy to announce that ASP.NET Core 2.2 is available as part of <a href="https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-net-core-2-2/">.NET Core 2.2</a> today!</p>
<h2>How to get it</h2>
<p>You can download the new .NET Core SDK (2.2.100) for your dev machine and build servers from the <a href="https://dotnet.microsoft.com/download/dotnet-core/2.2">.NET Core 2.2 download page</a>. New Windows Server hosting, runtime installers and binary archives are also available from this page for updating servers.</p>
<p>This release updates <a href="https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-net-core-2-2/">.NET Core</a>, ASP.NET Core, and <a href="https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-entity-framework-core-2-2/">Entity Framework Core</a> to version 2.2.0. The new SDK version is 2.2.100. Visual Studio requirements are as follows:</p>
<p><a href="https://blogs.msdn.microsoft.com/visualstudio/2018/12/04/making-every-developer-more-productive-with-visual-studio-2019/">Visual Studio 2019 16.0 Preview 1</a>, also available today, includes the .NET Core SDK 2.2.100 as an optional component.</p>
<h2>What’s new?</h2>
<p>The main theme for this ASP.NET Core release was to improve developer productivity and platform functionality with regard to building Web/HTTP APIs. As usual, we made some performance improvements as well. We’ve posted about these features as part of the preview releases and you as such you can read about them by following the links below:</p>
<h3>Health Checks integration with BeatPulse</h3>
<p>We’re happy to announce that the <a href="https://github.com/Xabaril/BeatPulse">BeatPulse project</a> now supports the new Health Checks API, which means you can easily add checks for dozens of popular systems and dependencies using their great support. Here’s a message from the BeatPulse team about their support for our new Health Checks API:</p>
<blockquote>
<p><a href="https://github.com/Xabaril/BeatPulse">BeatPulse</a> is a community driven project that was created to provide health checking mechanisms for systems, networking and a wide variety of services that are common within the enterprise, e.g. SqlServer, MySql,Postgress, Redis, Kafka and many more . When Microsoft announced ASP.NET Core Health Checks for the 2.2 roadmap, the BeatPulse team ported all the existing liveness packages and features to work with the new Microsoft Health Checks abstractions at the repository <a href="https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks">AspNetCore.Diagnostics.HealthChecks</a>. Apart from all the health checking packages, the BeatPulse team also incorporates other features like pulse tracking (Application Insights and Prometheus), failure notifications and a UI interface were we can configure different monitored systems and have a global view of health status. This UI is available as a Docker image published in Docker Hub.</p>
</blockquote>
<h3>More coming soon</h3>
<p>When we announced planning for ASP.NET Core 2.2, we mentioned a number of features that aren’t detailed above, including API Authorization with IdentityServer4, Open API (Swagger) driven client code generation, and the HTTP REPL command line tool. These features are still being worked on and aren’t quite ready for release, however we expect to make them available as add-ons in the coming months. Thanks for your patience while we complete these experiences and get them ready for you all to try out.</p>
<h2>Migrating a project to ASP.NET Core 2.2</h2>
<p><span>To migrate an ASP.NET Core project from 2.1 to 2.2, open the project’s .csproj file and change the value of the <code>TargetFramework</code> element to <code>netcoreapp2.2</code>. You do not need to do this if you’re targeting .NET Framework 4.x.</span></p>
<p>Finish by updating your NuGet package references to the latest stable versions. Note that projects targeting .NET Core (rather than .NET Framework) should not have a package version specified for the Microsoft.AspNetCore.App package reference as this will be managed automatically by the SDK. Doing so will now result in a build warning.</p>
<p>For more information on <a href="https://docs.microsoft.com/en-us/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio">upgrading to ASP.NET Core 2.2 see here</a>.</p>
<h2>Support life cycle</h2>
<p>ASP.NET Core 2.2 is the latest release in the “Current” .NET Core train. This represents the first release since the declaration of 2.1 LTS that reestablishes a separate LTS and Current train. The Current train is where new features, enhancements, and regular bug fixes are applied and is recommended for most customers. Note that both LTS and Current releases receive servicing updates for security and critical stability fixes. It is currently expected that 2.2 will the last non-servicing release in the 2.x life cycle, and as such customers not using an LTS release will need to migrate to 3.0 GA, within 3 months of its release in the second half of 2019 in order to remain supported.</p>
<p>Read more about the <a href="https://dotnet.microsoft.com/platform/support-policy/dotnet-core">.NET Core support policy here</a>.</p>
<h2>Availability in Azure App Service</h2>
<p>The .NET Core 2.2 SDK, runtime, and updated ASP.NET Core IIS Module are in the process of being deployed to Azure App Service regions around the world. We expect this to be completed before the end of December 2018.</p>
<p>Some regions may receive the updated runtime before the updated ASP.NET Core IIS Module (ANCM), which is required by default for projects targeting ASP.NET Core 2.2. It’s also a requirement for the new in-process hosting feature. If you receive startup errors after deploying to Azure App Service, try configuring your project to use the existing version of ANCM by setting the <code>AspNetCoreModule</code> property to the value “AspNetCoreModule”, e.g.:</p>
<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --> </p>
<div id="crayon-5c72e466e1b97858306251" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate">
<p><textarea class="crayon-plain print-no" readonly="readonly"><br />
&lt;PropertyGroup&gt; &lt;TargetFramework&gt;netcoreapp2.2&lt;/TargetFramework&gt; &lt;AspNetCoreModuleName&gt;AspNetCoreModule&lt;/AspNetCoreModuleName&gt; &lt;AspNetCoreHostingModel&gt;OutOfProcess&lt;/AspNetCoreHostingModel&gt; <br />
&lt;/PropertyGroup&gt;</textarea></p>
<div class="crayon-main">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums "> </td>
<p> </p>
<td class="crayon-code">
<div class="crayon-pre">
<p><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-v">PropertyGroup</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
<p><span class="crayon-h"> </span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-v">TargetFramework</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span><span class="crayon-v">netcoreapp2</span><span class="crayon-sy">.</span><span class="crayon-cn">2</span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-o">/</span><span class="crayon-v">TargetFramework</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
<p><span class="crayon-h"> </span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-v">AspNetCoreModuleName</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span><span class="crayon-v">AspNetCoreModule</span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-o">/</span><span class="crayon-v">AspNetCoreModuleName</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
<p><span class="crayon-h"> </span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-v">AspNetCoreHostingModel</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span><span class="crayon-v">OutOfProcess</span><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-o">/</span><span class="crayon-v">AspNetCoreHostingModel</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
<p><span class="crayon-o">&</span><span class="crayon-v">lt</span><span class="crayon-sy">;</span><span class="crayon-o">/</span><span class="crayon-v">PropertyGroup</span><span class="crayon-o">&</span><span class="crayon-v">gt</span><span class="crayon-sy">;</span></p>
</div>
</td>
<p> </tr>
</table>
</div></div>
<p><!-- [Format Time: 0.0116 seconds] --></p>
<p>Once the target region has been updated with the latest ANCM version, you can remove that property altogether and redeploy the application to have it switch to using the new ANCM.</p>
<p>This release also adds better 64-bit support for .NET Core in Azure App Service. If you’re running your ASP.NET Core application on .NET Core 2.2 with in-process hosting, you can simply <a href="https://docs.microsoft.com/en-us/azure/app-service/web-sites-configure">enable the 64-bit option in the Azure Portal</a> and the site will now run in a 64-bit process. For other information on how to run your ASP.NET Core application in a 64-bit process in Azure App Service with other configurations, see <a href="https://blogs.msdn.microsoft.com/webdev/2018/01/09/64-bit-asp-net-core-on-azure-app-service/">this article</a>.</p>
<h2>Giving feedback</h2>
<p><span>As always, please provide us feedback by logging issues at </span><a href="https://github.com/aspnet">https://github.com/aspnet/AspNetCore</a><span>. We look forward to hearing from you!</span></p>
<div class="authorinfoarea">
<div><img src="http://www.sickgaming.net/blog/wp-content/uploads/2019/02/announcing-asp-net-core-2-2-available-today-1.jpg" width="96" height="96" alt="" class="avatar avatar-96 wp-user-avatar wp-user-avatar-96 photo avatar-default" /></div>
</p></div>
</div>