真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何將.NETCore2.0項(xiàng)目升級(jí)到.NETCore2.1

這篇文章主要講解了“如何將.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證書合作)期待與您的合作!

Step by Step

        一、修改我們的項(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。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Microsoft.AspNetCore.ApplicationInsights.HostingStartup
Microsoft.AspNetCore.AzureAppServices.HostingStartup
Microsoft.AspNetCore.AzureAppServicesIntegration
Microsoft.AspNetCore.DataProtection.AzureKeyVault
Microsoft.AspNetCore.DataProtection.AzureStorage
Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv
Microsoft.AspNetCore.SignalR.redis
Microsoft.Data.Sqlite
Microsoft.Data.Sqlite.Core
Microsoft.EntityFrameworkCore.Sqlite
Microsoft.EntityFrameworkCore.Sqlite.Core
Microsoft.Extensions.Caching.Redis
Microsoft.Extensions.Configuration.AzureKeyVault
Microsoft.Extensions.Logging.AzureAppServices
Microsoft.VisualStudio.Web.BrowserLink

        在引用 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 包。

1
2
3
4
Microsoft.DotNet.Watcher.Tools (dotnet watch)
Microsoft.EntityFrameworkCore.Tools.DotNet (dotnet ef)
Microsoft.Extensions.Caching.SqlConfig.Tools (dotnet sql-cache)
Microsoft.Extensions.SecretManager.Tools (dotnet user-secrets)

        對(duì)于 DotNetCliToolReference 節(jié)點(diǎn)下的 dotnet-aspnet-codegenerator(用于生成 MVC中的 controllers 和 views 模板) Nuget 包,你同樣可以選擇刪除這個(gè)引用,同時(shí)使用全局安裝 tool 來代替它。

1
dotnet tool install -g dotnet-aspnet-codegenerator

        三、基于 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 生成的模板代碼是有一定差異的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//ASP.NET Core 2.0
namespace WebApp1
{
   public class Program
   {
       public static void Main(string[] args)
       {
           BuildWebHost(args).Run();
       }

       public static IWebHost BuildWebHost(string[] args) =>
           WebHost.CreateDefaultBuilder(args)
               .UseStartup()
.Build();
   }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//ASP.NET Core 2.1
namespace WebApp1
{
   public class Program
   {
       public static void Main(string[] args)
       {
           CreateWebHostBuilder(args).Build().Run();
       }

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

        這里我們按照最新版本的模板代碼對(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è)示例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@using Microsoft.AspNetCore.Http.Features

@{
   var consentFeature = Context.Features.Get();
   var showBanner = !consentFeature?.CanTrack ?? false;
   var cookieString = consentFeature?.CreateConsentCookie();
}

@if (showBanner)
{
   
   
}
1
2
//在網(wǎng)站的首頁(登錄頁面)中引用分布視圖

1
2
3
4
5
6
7
8
9
/// 
/// 隱私政策
///

///
[AllowAnonymous]
public IActionResult Privacy()
{
   return View();
}

        在之前的步驟中,我們?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)注!


分享文章:如何將.NETCore2.0項(xiàng)目升級(jí)到.NETCore2.1
鏈接地址:http://weahome.cn/article/jipcjo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部