最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

昨晚.NET5遷移10小時(shí),我發(fā)現(xiàn)了好幾個(gè)致命坑...

2020-11-17 09:29 作者:微軟MVP-Eleven  | 我要投稿


11月11號(hào)是電商狂歡的日子,也是.NET5正式發(fā)布的日子,媳婦兒等著零點(diǎn)秒殺,我卻在刷新著微軟官網(wǎng)等更新,然后第一時(shí)間開(kāi)始折騰。此前Scott Hunter在博客信誓旦旦.NET Core3.1平滑遷移.NET5,于是當(dāng)天就去升級(jí)我的寶藏項(xiàng)目,結(jié)果是大坑沒(méi)有,小坑不斷,折騰了一天時(shí)間才搞定,下面來(lái)仔細(xì)捋一捋,給搭建提供點(diǎn)參考。


背景介紹

升級(jí)的項(xiàng)目是之前開(kāi)源在Github上,也曾一周新增300star,后面雖因故關(guān)閉了,但我個(gè)人是非常用心的。這不.NET5剛發(fā)布,第一時(shí)間就開(kāi)始了升級(jí)。

項(xiàng)目是個(gè)微信小程序商城,后端是微服務(wù)架構(gòu)支撐的,Ocelot網(wǎng)關(guān)+Consul服務(wù)注冊(cè)發(fā)現(xiàn)+Core WebApi+gRPC+IdentityServer4都安排上了,整體還是比較復(fù)雜的,MongoDB、Redis、RabbitMQ也都安排上了,然后就在.NET Core3.1升級(jí).NET5的過(guò)程中,各種踩坑。

VS升級(jí)坑

升級(jí)的第一個(gè)坑來(lái)自于VS工具升級(jí)!之前.NET5預(yù)覽版、RC1、RC2都是用的Visual Studio 2019 Preview,這會(huì)兒.NET5正式版發(fā)現(xiàn)只需要把Visual Studio 2019升級(jí)到V16.8即可,然后就興沖沖的升級(jí)去了,結(jié)果當(dāng)頭一棒:Visual Studio Installer提示網(wǎng)絡(luò)未連接無(wú)法下載!當(dāng)然不是我的網(wǎng)絡(luò)問(wèn)題,其實(shí)是DNS解析上出了毛病(部分用戶會(huì)遇到,解決辦法是把電腦的DNS設(shè)置為8.8.8.8即可),但畢竟當(dāng)時(shí)是11號(hào)凌晨,以為是微軟官方同步不夠,我就選擇換工具,直接去Linux下用VS Code升級(jí)了,然后就開(kāi)始了第二波環(huán)境坑!

經(jīng)驗(yàn):如果遇到Visual Studio Installer提示網(wǎng)絡(luò)未連接無(wú)法下載,可以將當(dāng)前電腦DNS設(shè)置為8.8.8.8即可


Linux環(huán)境坑


Linux環(huán)境下VS Code開(kāi)發(fā)之前都蠻熟悉了,這次想著是升級(jí).NET5,就順手把Linux系統(tǒng)從CentOS7給換成了CentOS8,然后又華麗麗的各種坑。比如CentOS8中網(wǎng)卡名字從ens33變成了eth0,用nftables替代iptables,各種小變化讓人防不勝防,然后docker最新版本的命令也跟之前有些小變化,導(dǎo)致之前整理的Linux+Docker操作筆記各種失靈,來(lái)來(lái)回回折騰了好幾個(gè)小時(shí)。

當(dāng)然,環(huán)境只是環(huán)境,折騰完就過(guò)去了,而代碼遷移層面的坑才是最麻煩的,因?yàn)椴⒉恢肋€有多少?zèng)]發(fā)現(xiàn)!


.NET5遷移坑坑坑


項(xiàng)目從.NET Core3.1升級(jí)到.NET5非常easy,在 global.json 中將SDK版本從3.1升級(jí)成5.0,再將TargetFramework從netcoreapp3.1換成net5.0即可。還有部分類庫(kù)命名空間變化完全沒(méi)關(guān)系,宇宙第一IDE的智能提示輕松解決。但是,在真實(shí)項(xiàng)目遷移過(guò)程中,我卻遇到了各種小問(wèn)題:


1

Core WebApi框架模板項(xiàng)目中默認(rèn)集成了swagger,這個(gè)是新增的,但之前項(xiàng)目有一些自定義配置和擴(kuò)展,也導(dǎo)致了沖突。

2

IdentityServer4第三方框架版本升級(jí),API變化很有點(diǎn)多,改動(dòng)不了不少代碼,這個(gè)鍋雖然不是.NET5的,但也是升級(jí)項(xiàng)目會(huì)遇到的。

3

嘗試C#9花了一些時(shí)間,想體驗(yàn)下新語(yǔ)法新特性,如Native ints原生Ints、Pattern matching improvements模式匹配改進(jìn)版,結(jié)果幾次把自己繞進(jìn)去了。

4

項(xiàng)目升級(jí)完發(fā)現(xiàn)的Bug,DateTime這個(gè)天天見(jiàn)的值出現(xiàn)了變化,在 ASP.NET Core 3.1 及更早版本中,DateTime綁定的是服務(wù)器本地時(shí)間,而5.0之后,DateTime綁定的是UTCTime。


昨晚.NET5遷移10小時(shí),我發(fā)現(xiàn)了好幾個(gè)致命坑...的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
陵水| 防城港市| 边坝县| 金塔县| 东莞市| 辽宁省| 克什克腾旗| 商都县| 怀柔区| 民权县| 浮梁县| 灵台县| 大洼县| 泾川县| 灵丘县| 高安市| 历史| 南部县| 余庆县| 永济市| 宁化县| 北流市| 长武县| 阜新| 河南省| 邛崃市| 湛江市| 新津县| 蓬安县| 织金县| 改则县| 纳雍县| 丰都县| 黄山市| 那坡县| 罗田县| 尼木县| 济宁市| 淮北市| 陇西县| 旺苍县|