• 将 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]
  • 相关阅读:
    http delete 服务端拿不到body
    VUE 指定、获取DOM元素的自定义值
    delphi + redis 实现即时消息
    VUE 父组件、子组件图片链接
    【杂记】Linux 学习笔记
    【杂记】Oracle
    iOS 容易造成循环引用的三种场景
    NSNotificationCenter KVO KVC Delegate Block
    C语言和OC的区别? 面向对象和面向过程的区别?
    SDWebImage的实现原理
  • 原文地址:https://www.cnblogs.com/dudu/p/9009295.html
Copyright © 2020-2023  润新知