根據官方文檔升級對應工具web
就是在項目屬性中修改目標框架爲.Net Core 2.2框架
右鍵項目選擇編輯XXXX.csproj,在文檔描述的對應位置添加工具
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
若是項目中根目錄中沒有這個文件便可忽略這一步。visual-studio
一樣編輯XXXX.csproj,在文檔描述的對應位置添加ui
<PackageReference Include="Microsoft.AspNetCore.App" />
刪除全部 <PackageReference Include="Microsoft.XXXX" Version="XXX" />spa
好比這些code
<PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.CookiePolicy" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.HttpsPolicy" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
都須要刪除,由於新版本的Microsoft.AspNetCore.App已經包含這些htm
從新編譯項目時IDE會自動下載對應的引用包對象
這一步是我遇到的最大的坑!!!官網給的Demo我試了有問題,若是原來項目Program
類中有UseIISIntegration() ,則須要替換成UseIIS() ,否則會有啓動錯誤。
意外的在ocelot文檔Demo中找到了解決方案!!
**Note:** When using ASP.NET Core 2.2 and you want to use In-Process hosting, replace **.UseIISIntegration()** with **.UseIIS()**, otherwise you'll get startup errors.
剩下的根據官方文檔根據各自的項目作對應的修改,我本身遇到的兩個問題已經寫在上面了,一是更新包引用,二是更新Kestrel配置。
若是還有問題請參考官方文檔
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/troubleshoot?view=aspnetcore-2.2