#detail #dotNetUpgrade [參考來源是這裡](https://learn.microsoft.com/zh-tw/dotnet/core/porting/upgrade-assistant-overview?WT.mc_id=dotnet-35129-website#upgrade-with-the-cli-tool) .Net升級工具是這裡:[[CoreMVC/dotNet Framework upgrade]] > [!NOTE] 透過命令列下載.Net升級工具 > >工具 > 命令列 > 開發人員命令提示字元,安裝指令如下: > >`dotnet tool install -g upgrade-assistant` >>若要進行更新: >>`dotnet tool update -g upgrade-assistant` >> >>查看可執行的功能 >>`upgrade-assistant --help` >[!ABSTRACT] 進行專案分析 >由於分析後,提及需轉為SDK專案樣式,這個步驟可以在升級時進行。 >>`upgrade-assistant analyze +<專案路徑>` >>![[CoreMVC/UpgradeDetail_photo/image.png]] >>![[CoreMVC/UpgradeDetail_photo/image-11.png]] >[!SUCCESS] 進行升級 >>**請記得備份原始專案!** >>`upgrade-assistant upgrade +<專案路徑>` >>輸入後,會詢問如何升級,在此先選擇升級專案功能(將專案轉換成SDK樣式) >>![[CoreMVC/UpgradeDetail_photo/image-1.png]] >>![[CoreMVC/UpgradeDetail_photoimage.png]] 轉換成SDK後,檔案目錄會變成像這樣: | 轉換前 | 轉換後 | | :------------------------------------------------: | :------------------------------------------: | | ![[CoreMVC/UpgradeDetail_photo/image-2.png\| 350]] | ![[CoreMVC/UpgradeDetail_photo/image-3.png]] | | | | > [!WARNING] 轉換完成後,記得再次進行分析 > >[!info] 產生了另外的問題? > >提示需移除套件,但在升級時也會自動進行套件移除。 > >![[CoreMVC/UpgradeDetail_photo/image-4.png]] > >![[CoreMVC/UpgradeDetail_photo/image-5.png]] > [!TIP] 接續升級.net 8 > >再次使用升級指令後,會詢問偏好的目標架構: > >![[CoreMVC/UpgradeDetail_photo/image-6.png]] > >能夠發現到不相容的套件已經移除或變更參考目的。 > >![[CoreMVC/UpgradeDetail_photo/image-7.png]] > >更新完即為.NET8.0 > >![[CoreMVC/UpgradeDetail_photo/image-8.png]] > >特定的NuGet套件需重新安裝 > >![[CoreMVC/UpgradeDetail_photo/image-13.png]] > >修正部分語法 > >![[CoreMVC/UpgradeDetail_photo/image-9.png]] > >>[!BUG] 部分套件問題 > >>#### **app.config的system.web**, > >>是由VS專案自動產生, > >>若無使用者驗證機制的話可先行移除, > >> ![[CoreMVC/UpgradeDetail_photo/image-12.png]] > >>若沒有先行移除,於專案編譯會出現問題。 > >>[參考資料]( https://stackoverflow.com/questions/1231120/system-web-inside-of-app-config-file-with-clientauthenticationmembershipprovider) > >>![[CoreMVC/UpgradeDetail_photo/image-10.png]] > >>#### **Microsoft.Data.SqlClient連線問題** > >>[參考資料](https://learn.microsoft.com/zh-tw/troubleshoot/sql/database-engine/connect/certificate-chain-not-trusted?tabs=ole-db-driver-19) > >>該套件於4.0的版本後,因應Azure會連線至雲端,故加入驗證機制 > >>若沒有提供驗證憑證會發生錯誤 > >>於此先強制信任SQL Server的憑證解決,在app.config加入下列: > >>`TrustServerCertificate=True` > >>> [!DANGER] 已記錄的套件變更 >>>> | 舊版 | 新版 | >>>> | -- | -- | >>>> | Interop.CDO | System.Net.Mail| >>>> | System.Data.SqlClient | Microsoft.Data.SqlClient|