這篇文章主要講解了“如何將.NET Core 2.0項(xiàng)目升級(jí)到.NET Core 2.1”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何將.NET Core 2.0項(xiàng)目升級(jí)到.NET Core 2.1”吧!
秀英ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
一、修改我們的項(xiàng)目目標(biāo)框架
在更新 VS 2017 的過程中,我們的 .NET Core 版本也會(huì)進(jìn)行更新,當(dāng)然,如果你的電腦中沒有安裝 .NET Core 2.1 SDK,則需要你從官網(wǎng)上下載最新版的 SDK 進(jìn)行安裝。
當(dāng)我們已經(jīng)安裝好我們的 .NET Core 2.1 SDK 后,就可以將我們?cè)瓉沓绦虻哪繕?biāo)框架更改為 .NET Core 2.1。
右鍵我們的項(xiàng)目,我們可以直接編輯 csproj 文件 或者通過打開屬性選項(xiàng)進(jìn)行可視化的修改。其實(shí)這里我們通過屬性頁面進(jìn)行編輯實(shí)質(zhì)上就是編輯我們的 csproj 文件。
同時(shí),為了保持我們的項(xiàng)目框架的一致性,我們需要將我們引用的類庫的目標(biāo)框架同樣修改成 .NET Core 2.1。
二、替換 Nuget 包引用
在 .NET Core 2.1 版本中 微軟將 Microsoft.AspNetCore.All 這個(gè) .NET Core 的基礎(chǔ) DLL 更換成了 Microsoft.AspNetCore.App,因此,在更新了程序的目標(biāo)框架后我們還需要將我們程序刪除對(duì)于 Microsoft.AspNetCore.All 的引用,同時(shí)添加對(duì)于 Microsoft.AspNetCore.App 的引用。
在 Microsoft.AspNetCore.App 中不包含了以下 Nuget package,如果你對(duì)于這些 package 有需要的話,你可以在項(xiàng)目中引用這些 package。
|
|
在引用 Microsoft.AspNetCore.App 的時(shí)候,可能會(huì)提示缺少某些依賴項(xiàng)或者提示我們?cè)瓉硪玫?Nuget 包版本不滿足 Microsoft.AspNetCore.App,我們只需要根據(jù)提示的錯(cuò)誤信息將我們?nèi)鄙俚囊蕾図?xiàng)添加上或者將不滿足要求的版本升級(jí)就可以了。
例如我在升級(jí) PSU.EFCore 這個(gè)類庫中時(shí),發(fā)現(xiàn)引用的程序集版本不滿足我們我們使用 2.1.6 版本的 Microsoft.AspNetCore.App ,我們只需要將這些引用的 DLL 進(jìn)行升級(jí),再安裝我們最新版本的 Microsoft.AspNetCore.App。
在安裝 .NET Core 2.1 SDK 之后,下列的 tools 已經(jīng)被包含在最新版本的 .NET Core CLI 中,因此,我們可以在 csproj 文件中刪除 DotNetCliToolReference 節(jié)點(diǎn)下的這些引用的 Nuget 包。
|
|
對(duì)于 DotNetCliToolReference 節(jié)點(diǎn)下的 dotnet-aspnet-codegenerator(用于生成 MVC中的 controllers 和 views 模板) Nuget 包,你同樣可以選擇刪除這個(gè)引用,同時(shí)使用全局安裝 tool 來代替它。
|
|
三、基于 ASP.NET Core 2.1 代碼慣例的更改
在 .NET Core 升級(jí)到 2.1 版本后,ASP.NET Core 相應(yīng)的也進(jìn)行了一些更新,我們創(chuàng)建的模板中的一些基礎(chǔ)代碼也進(jìn)行了修改。例如在下面示例中,我們使用 .NET Core 2.0 版本創(chuàng)建的 MVC 項(xiàng)目中的 Program.cs 代碼結(jié)構(gòu)與使用 .NET Core 2.1 生成的模板代碼是有一定差異的。
|
|
|
|
這里我們按照最新版本的模板代碼對(duì)我們的 Program.cs 代碼結(jié)構(gòu)進(jìn)行修改。
同樣的,在 Startup.cs 文件中,ASP.NET Core 2.1 版本增加了對(duì)于 GDPR 的支持(歐盟的一項(xiàng)政策,當(dāng)我們需要收集用戶的數(shù)據(jù)時(shí),必須以「簡(jiǎn)潔、透明且易懂的形式,清晰和平白的語言」向用戶說明,例如這里我們使用了 cookie、session 來存儲(chǔ)用戶的數(shù)據(jù),我們就需要提前告知用戶),對(duì)于 HTTPS 的重定向支持以及增加了 SetCompatibilityVersion 方法允許應(yīng)用程序選擇加入或退出ASP.NET MVC Core 2.1+中引入的可能中斷的行為更改(嗯,看了一圈還是不明白到底是干什么的)。
四、其它更改
在 ASP.NET Core MVC 框架版本的更新中,同樣對(duì)于引用的一些 JS 類庫進(jìn)行了升級(jí),這里我就不升級(jí)了,主要為我們的程序添加對(duì)于 GDPR 政策的提示。以及要求我們的程序以 HTTPS 的形式進(jìn)行訪問。
首先我們創(chuàng)建一個(gè)分布視圖 _CookieConsentPartial 用來提示我們需要收集用戶的信息,在 SecretController 控制器中添加一個(gè) Action 用來顯示我們的隱私政策,同時(shí)在我們的模板頁面中引用創(chuàng)建的分布視圖,這里的樣式就不做任何的調(diào)整了,只是做個(gè)示例。
|
|
|
|
|
|
在之前的步驟中,我們?cè)诖a中支持了使用 HTTPS 請(qǐng)求訪問,現(xiàn)在我們就可以啟用 SSL 來使我們通過 HTTPS 請(qǐng)求來訪問我們的項(xiàng)目。
感謝各位的閱讀,以上就是“如何將.NET Core 2.0項(xiàng)目升級(jí)到.NET Core 2.1”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何將.NET Core 2.0項(xiàng)目升級(jí)到.NET Core 2.1這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!