將 ASP.NET Core 2.0 項目升級至 ASP.NET Core 2.1 RC 1


今天微軟發布了 .NET Core 2.1 RC 1 ,雖然只是 Release Candidate 版,但已經可以在生產環境中使用。

NET Core 2.1 RC is supported by Microsoft and can be used in production.

.NET Core 2.1 的性能大提升早讓人垂涎三尺,看到這個消息后,忍不住今天就進行了升級。

主要升級步驟如下:

將 .csproj 項目文件中的 target framework 改為 netcoreapp2.1

<TargetFramework>netcoreapp2.1</TargetFramework>

將 Microsoft 開頭的 nuget 包升級為 2.1.0-rc1-final  (正式版改為 2.1.0 ),System 開頭的 nuget 包升級為 4.5.0-rc1(正式版改為 4.5.0)

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0-rc1-final" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.0-rc1" />

將 Microsoft.AspNetCore.All 更改為 Microsoft.AspNetCore.App

<PackageReference Include="Microsoft.AspNetCore.App" />

在 Program 中將 IWebHost 改為 IWebHostBuilder 

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();
}

在 Startup 中添加 SetCompatibilityVersion

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

更新 docker 鏡像,將 asp.net core runtime 鏡像 tag 改為 microsoft/dotnet:2.1-aspnetcore-runtime ,將 .net core sdk 鏡像 tag 改為 microsoft/dotnet:2.1-sdk 。docker 部署成功后,容器中的 .net core runtime 信息如下

root@c44d5c57a02b:/app# dotnet --info

Host (useful for support):
  Version: 2.1.0-rc1
  Commit:  eb9bc92051

.NET Core SDKs installed:
  No SDKs were found.

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0-rc1-final [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0-rc1-final [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.0-rc1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM