新的ASP.NET Core 遷移指南

張善友發表於2022-03-17

最近在微信裡做了一個調查: Web Forms應用程式升級到.NET 6, 收到550份調查,調查還在繼續,歡迎參與調查。可以訪問連結:https://wj.qq.com/s2/9822949/ac3f/ 或者掃碼參與,這是一個匿名的調查,不收集任何個人資訊:

image 

參與的人數中接近1/3 還在維護Web Forms應用程式,說明這個存量規模還是很大的。

image

從調查中看接近50%的人對Blazor 都不瞭解,正好這個週末社群正在舉辦一場社群活動:Blazor Day in China ,歡迎大家報名參加。

image

大家對升級工具的瞭解也是非常的少,75%的人都不瞭解升級工具,對.NET團隊推出的升級助手的瞭解的人也不到25%, 對AWS 為了推出的移植助手的瞭解就更低,只有1.6%。

image

正好微軟在2月份釋出了將舊的 ASP.NET 應用程式遷移到新版本的 ASP.NET Core 的指南,新的指南解決了遷移所需的"大筆投資",提供了一些程式碼共享技巧,可以使這項工作變得更容易。微軟.NET 團隊3 月 2 日的一篇部落格文章說 ”今天我們將分享如何加速向 ASP.NET Core 的遷移。您今天可以進行一些細微的更改,以便明天更輕鬆地遷移到 ASP.NET Core。“, 中文翻譯文章:【譯】在 ASP.NET 和 ASP.NET Core 之間共享程式碼

這些更改是在一個已有 10 年曆史的 MVC Music Store 應用的上下文中進行的。如何修改一個有 10 年曆史的應用程式中的程式碼,以便它可以與 ASP.NET Core 共享。

MvcMusicStore

文章裡介紹了共享程式碼的能力還包括 CSS、JavaScript 和影像等靜態內容。現在,您可以逐步在您的 Web 應用程式中構建靈活性,以使您更輕鬆地遷移到 ASP.NET Core。可以從文件《從 ASP.NET 遷移到 ASP.NET Core》文件裡面找到,對於那些計劃開始進行 ASP.NET Core 遷移的人,我們將分享一些更多技巧。

  • 升級您的 NuGet 包,以便您可以使用 netstandard。
  • 將您的類庫更改為 netstandard,以便您可以在 ASP.NET 和 ASP.NET Core 之間共享程式碼。
  • 在您的類庫構建介面中查詢對 System.Web 的引用替換它們。使用依賴注入,以便您可以輕鬆地在 ASP.NET 和 ASP.NET Core 功能之間切換。

如果您想要更詳細的指導來遷移整個 ShoppingCartController.cs,您可以在 MvcMusicStoreMigration 上使用示例進行完整的演練。該演練還將演示如何從同一個 IIS 應用程式池執行 ASP.NET 和 ASP.NET Core,以一次增量地遷移 Web 應用程式一個控制器。

相關文章