Blazor wasm Host 项目迁移至.Net5(新手笔记)

本人新手一枚,在校研一学生,初学.Net三四个月,之前只做过一点vue,用了一点element-ui做管理平台,也没有涉及后端的东西。导师所给的方向为ASP.Net Core等一系列微软技术的方向,让自己探索新技术,于是就开始了Blazor的不断摸索,以建立一个ERP系统进行尝试。最近.Net5潮流涌动,我也想着将现有的初期项目迁移至.Net5.虽然说按照微软的文档进行ASP.Net Core3.1到Net 5.0的迁移还是很快的,但其中还是遇到了一些小问题。在此记录一下自己迁移过程。(没有系统地学习过.Net和C#,只是用到啥看了点啥,有不到之处还希望多多包涵哈哈哈~)
首先放一下我的项目结构,采用的是Blazor wasm,ASP.Net Core Host的形式。(对于DDD架构还没有怎么理解清楚,这边用了基于工作单元的仓储模式,领域驱动的设计思想设计的底层结构,采用依赖注入的方式使用)

接下来讲一下我的具体迁移。
一、首先按照官方文档的要求对项目框架进行更新,所有项目都改为.Net5的框架,对于.Net Core的类库直接在.csproj中更改net core为net 5.

对于Client则作如下更改,将sdk由Microsoft.NET.Sdk.Web改为Microsoft.NET.Sdk.BlazorWebAssembly,同时框架改为.net 5。

Server端的更改起初我也将sdk改为Microsoft.NET.Sdk.BlazorWebAssembly,但build时遇到一些错误,后来也查阅了一些资料,保留sdk,将TargetFramework改为net5,同时添加代码<UseBlazorWebAssembly>true</UseBlazorWebAssembly>,经过测试后发现没有问题。
框架属性更改完成后还需要检查包Microsoft.AspNetCore.Components.WebAssembly.Build,删去该包的引用。
二、项目文件修改。
在Client的wwwroot/index.html中将app标签改为id为app的div盒子形式,同时在Client的Program.cs中更改元素的引用builder.RootComponents.Add<App>("#app"); HttpClient的注册由于我本来就是设置的全局Scope注入,并没有另作修改。若有.razor.css的css隔离则需要在wwwroot/index.html引入<link href="{ASSEMBLY NAME}.Client.styles.css" rel="stylesheet" />
三、Nuget包的更新
其实这边只要把原有包都升到相应.net5对应的5.0版本即可,但如果使用了EF Core以及EF Core的Identity认证,则需要先安装Microsoft.EntityFrameworkCore.Relation的包(在此之前我没有用到),另外还有Microsoft.AspNetCore.Identity.EntityFrameworkCore包。(tips:这边由于我使用的是Mysql数据库,使用包Pomelo.EntityFrameworkCore.MySql,我更新到了其预览版5.0,对于数据库的配置函数发生了更改,出现了报错,传参不再是原先string的连接字符串
services.AddDbContext<ApplicationDbContext>(options => options.UseMySql(Configuration.GetConnectionString("DefaultConnection")) .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking) .UseLoggerFactory(log));
不清楚怎么更改,于是我又把包Pomelo.EntityFrameworkCore.MySql降回了3.2.4版本,相应的Microsoft.EntityFrameworkCore.Relation和Microsoft.AspNetCore.Identity.EntityFrameworkCore包都降回了原先的3.1.10版本,因为我的领域层以及Server端都使用了相应的包,所以我做了两次处理。)
四、项目迁移成功!
相比原先的net core3.1来说,.net5还真是在体验上有了明显的改进,最大的体验改善在于对于页面的渲染变快,而且控件双向绑定也感觉上变快了一点,虽然页面中多组件多绑定还是会有卡顿,但这应该是我设计的问题,将其分散开来应该会好得多。用的组件是Ant Design Blazor,偷偷在大佬群里面学习都不敢吱声哈哈,新的东西太多,还没有入门,有错误之处还希望多多指教,要努力学习赶快吸收!加油呀哈哈哈!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值