最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET Core 3.0遷移的完美避坑指南

 更新時(shí)間:2019年09月10日 15:54:00   作者:曉晨Master  
這篇文章主要給大家介紹了關(guān)于ASP.NET Core 3.0遷移的完美避坑指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ASP.NET Core 3.0具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一.前言

.NET Core 3.0將會(huì)在 .NET Conf 大會(huì)上正式發(fā)布,截止今日發(fā)布了9個(gè)預(yù)覽版,改動(dòng)也是不少,由于沒(méi)有持續(xù)關(guān)注,今天將前面開(kāi)源的動(dòng)態(tài)WebApi項(xiàng)目遷移到.NET Core 3.0還花了不少時(shí)間踩坑,給大家分享一下我在遷移過(guò)程中遇到的坑。遷移的版本是當(dāng)前Release最新版本 .NET Core 2.2 到 .NET Core 3.0 Preview 9。

二.ASP.NET Core 項(xiàng)目遷移

官方遷移文檔:從 ASP.NET Core 2.2 遷移到3.0 ,這個(gè)官方文檔比較詳細(xì),但是有一些東西里面并沒(méi)有寫(xiě)。

1.更改框架版本

將 TargetFramework 版本改為 netcoreapp3.0

2.移除Nuget包

移除所有 Nuget包

將其余 Nuget 包更新到支持 .NET Core 3.0 版本

3.Program更改

 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更改

ConfigureServices 方法:

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); 改為 services.AddControllers()(WebApi) / services.AddControllersWithViews();(MVC)

Configure 方法:

1、該方法里獲取Host環(huán)境信息接口類型,IHostingEnvironment改為 IWebHostEnvironment

2、app.UseMVc 改為:

WebApi:

      app.UseRouting();

      app.UseAuthorization();

      app.UseEndpoints(endpoints =>
      {
        endpoints.MapControllers();
      });

MVC:

      app.UseRouting();

      app.UseAuthorization();

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

關(guān)于Json組件

ASP.NET Core 3.0 默認(rèn)移除了 Newtonsoft.Json ,使用了微軟自己實(shí)現(xiàn)的 System.Text.Json,如果要改為 Newtonsoft.Json ,那么有以下兩步:

1.安裝Nuget包:

Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson

2.注冊(cè)

services.AddControllers().AddNewtonsoftJson();

三.類庫(kù)(Class Library Net Standard 2.0)項(xiàng)目遷移

因?yàn)?ASP.NET Core 3.0 對(duì)元包機(jī)制的改動(dòng),現(xiàn)在不能通過(guò)nuget安裝 Microsoft.AspNetCore.All 或者 Microsoft.AspNetCore.App 3.0版本,以及他們包含的大多數(shù)Nuget包也不能通過(guò)nuget安裝了(沒(méi)有3.0對(duì)應(yīng)的版本)。如果說(shuō)還引用2.2版本的nuget包,那么運(yùn)行起來(lái)可能會(huì)出錯(cuò)。元包被包含在了 .NET Core SDK中,這意味著如果我們的類庫(kù)項(xiàng)目依賴了 AspNetCore 相關(guān)組件,那么將沒(méi)法繼續(xù)將項(xiàng)目目標(biāo)框架設(shè)置為 .NET Standard 了,只能設(shè)置為.NET Core 3.0,因?yàn)?ASP.NET Core 3.0 only run on .NET Core 。

元包機(jī)制改動(dòng)原因:https://github.com/aspnet/AspNetCore/issues/3608

1.更改框架版本

2.更新Nuget包

移除 Microsoft.AspNetCore.* 不具有 .NET Core 3.0 的版本,例如:

添加 FrameworkReference(不是 PackageReference) 引用:

三.結(jié)束

題外話:ASP.NET Core 直到2.2 是可以同時(shí)運(yùn)行在 .NET Framework 和 .NET Core 中,但是從 ASP.NET Core 3.0 開(kāi)始,將會(huì)只支持 .NET Core。

相關(guān)資料:A first look at changes coming in ASP.NET Core 3.0

上面說(shuō)的改動(dòng),微軟官方都有解釋原因,其實(shí)是為了變得更好而改動(dòng),彌補(bǔ)以前的缺點(diǎn),只不過(guò)對(duì)于用了這么久的Core來(lái)說(shuō)有點(diǎn)折騰,但是還是能接受,為了更好的 .NET Core。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論

海晏县| 手机| 海伦市| 奉新县| 广昌县| 尚志市| 文成县| 增城市| 霞浦县| 新郑市| 浙江省| 沂南县| 布尔津县| 邢台县| 潞城市| 甘洛县| 祁阳县| 长兴县| 延津县| 博乐市| 丹阳市| 井冈山市| 垦利县| 内江市| 太原市| 大名县| 原平市| 泰兴市| 平阳县| 镇平县| 南京市| 大石桥市| 洛隆县| 金塔县| 江北区| 棋牌| 张家口市| 西和县| 惠水县| 自贡市| 徐闻县|