首页
前端开发

分类

当前位置: 云海天教程网 > 技术新闻 > 前端开发 >正文

.net core2.2升级.net core3.1/.net5

更新时间:2020-11-21  作者:佚名   来源:网络转载


	.net core2.2升级.net core3.1/.net5
[web前端开发]

1.目标框架设置为.net core3.1/.net5

2.将所有的nuget包升级为最新版本 

3.需要改动的一些地方

Program.cs

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

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

更改为:

using Microsoft.Extensions.Hosting;
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
         Host.CreateDefaultBuilder(args)
             .ConfigureWebHostDefaults(webBuilder =>
             {
                 webBuilder.UseStartup<Startup>();
             });
    }

4.Startup.cs

ConfigureServices方法

(1)设置api json返回格式

//.netCore2.2
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2).AddJsonOptions(
    opt => {
      opt.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm";
});
//.net Core3.1
services.AddControllersWithViews(option =>
{
   option.EnableEndpointRouting = false;
}).SetCompatibilityVersion(CompatibilityVersion.Latest).AddControllersAsServices().AddNewtonsoftJson
(
   json =>
   {
      //统一设置JsonResult
      json.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
   }
);

(2)路由变化 Configure方法

//.net core2.2 
app.UseMvc(routes =>
{
   routes.MapRoute(
       name: "default_area",
       template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
   routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
 });

app.UseMvc(routes =>
{
    routes.MapRoute(
    name: "areas",
    template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});

//.net 5
app.UseRouting();
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default_area",
        pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

app.UseEndpoints(endpoints =>
{
   endpoints.MapControllerRoute(
      name: "areas",
      pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});

(3)一些问题


	.net core2.2升级.net core3.1/.net5
[web前端开发]

 

 
	.net core2.2升级.net core3.1/.net5
[web前端开发]

 

 

安装包:Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 

ConfigureServices方法

 services.AddControllersWithViews().AddRazorRuntimeCompilation();

(4)检测到包降级: System.Runtime.Handles 从 4.3.0 降级到 4.0.1。直接从项目引用包以选择不同版本。  MyBlog.Swagger -> Swashbuckle.AspNetCore.Filters 6.0.1 -> Scrutor 3.0.1 -> Microsoft.Extensions.DependencyModel 2.1.0 -> Microsoft.DotNet.PlatformAbstractions 2.1.0 -> System.IO.FileSystem 4.0.1 -> runtime.unix.System.IO.FileSystem 4.3.0 -> System.Runtime.Handles (>= 4.3.0)  MyBlog.Swagger -> Swashbuckle.AspNetCore.Filters 6.0.1 -> Scrutor 3.0.1 -> Microsoft.Extensions.DependencyModel 2.1.0 -> Microsoft.DotNet.PlatformAbstractions 2.1.0 -> System.IO.FileSystem 4.0.1 -> System.Runtime.Handles (>= 4.0.1)

在对应项目下安装System.Runtime.Handles 4.3.0版本的包就好了

 

.net core2.2升级.net core3.1/.net5

原文地址:https://www.cnblogs.com/LiChen19951127/p/13986456.html

上一篇: delphi 判断目录是否存在 [操作系统入门] 下一篇: mysql 索引属性检查 [数据库教程]
小编推荐
快速导航更多>>
JavaScript 教程 HTML5 教程 CSS3 教程 jQuery 教程 Vue.js 教程 Node.js 教程 SQL 教程 C 教程 PHP 教程 Linux 教程 Docker 教程 Nginx 教程 Python 教程 Java 教程

云海天教程网 版权所有

陕ICP备14013131号-3