現(xiàn)在,你已可以使用 Visual Studio 將所有 .NET 應(yīng)用程序升級(jí)到最新版本的 .NET!這一功能可以從?Visual Studio 擴(kuò)展包中獲取,它會(huì)升級(jí)你的 .NET Framework 或 .NET Core 網(wǎng)頁(yè)和桌面應(yīng)用程序。一些項(xiàng)目類(lèi)型仍正在開(kāi)發(fā)中并將在不久的未來(lái)推出,請(qǐng)參閱以下的詳細(xì)信息。
?
為什么要升級(jí)?升級(jí)到哪個(gè)版本?
?
如果你的應(yīng)用程序是為 .NET Framework 或 .NET Core 構(gòu)建的,現(xiàn)在是將它們升級(jí)到 .NET 6(長(zhǎng)期支持版本)或 .NET 7(標(biāo)準(zhǔn)期限支持版本)的好時(shí)機(jī)。.NET 6 和 .NET 7 具有更好的性能并能為你提供最新的特性和功能。.NET Framework 和最新的 .NET 之間已經(jīng)有了巨大的改進(jìn),但即使你仍然在使用 .NET Core 3.1 或更早版本,它也已在 2022 年 12 月結(jié)束支持。
我們建議轉(zhuǎn)移到 .NET 6 或 .NET 7!
.NET 6 和.NET 7 這兩者相比,.NET 6 的支持時(shí)間更長(zhǎng),而 .NET 7 是最新的版本,因此具有更新的功能。我們每年 11 月都會(huì)發(fā)布新版本的 .NET,每個(gè)偶數(shù)版本的 .NET 都會(huì)有 3 年的支持時(shí)間(長(zhǎng)期支持(Long Term Support),簡(jiǎn)稱 LTS)。因此,你可以選擇堅(jiān)持每年升級(jí)確保你使用的都是最新的尖端技術(shù),或者你可以選擇每 2-3 年從上一個(gè) LTS 切換到下一個(gè) LTS。
?
關(guān)于升級(jí)助手
?
升級(jí)你的應(yīng)用程序是一個(gè)復(fù)雜的過(guò)程,而從 .NET Framework 升級(jí)尤其復(fù)雜。我們?cè)谶@方面不斷地進(jìn)行原型設(shè)計(jì)和改進(jìn)以簡(jiǎn)化這一升級(jí)過(guò)程。過(guò)去,你可能使用過(guò) Upgrade Assistant CLI 工具或 Microsoft Project Migrations。我們已經(jīng)收到了你們的反饋,非常感謝大家為我們填寫(xiě)的調(diào)查問(wèn)卷、評(píng)論、創(chuàng)建的問(wèn)題和功能請(qǐng)求!通過(guò)大家的反饋,我們得出結(jié)論,我們需要為 Visual Studio 中的每個(gè)項(xiàng)目類(lèi)型提供統(tǒng)一的升級(jí)體驗(yàn)。
現(xiàn)在,你可以在 Solution Explorer(解決方案資源管理器)中右鍵單擊你的項(xiàng)目并選擇“升級(jí)”,這樣就可以讓各種類(lèi)型的 .NET 應(yīng)用程序從任何初始版本(.NET Framework 或 .NET Core)升級(jí)。不要忘記先安裝擴(kuò)展包。
升級(jí)助手的一般理念是它會(huì)幫忙處理機(jī)制,但根據(jù)你要升級(jí)的框架和項(xiàng)目類(lèi)型,你可能會(huì)需要進(jìn)行一些手動(dòng)的后期處理。雖然我們會(huì)努力嘗試自動(dòng)修復(fù)失敗的變化,但它無(wú)法檢測(cè)并修復(fù)所有的錯(cuò)誤。因此,你可能需要進(jìn)行一些額外的修改才能編譯代碼,同時(shí)你需要進(jìn)行徹底的測(cè)試以確保你的代碼能夠繼續(xù)照常工作。
?
支持的應(yīng)用程序類(lèi)型
?
我們的目標(biāo)是支持每一種 .NET 項(xiàng)目類(lèi)型。我們認(rèn)為此工具不僅是從 .NET Framework 到 .NET 6/7 的一次性升級(jí),同時(shí)也會(huì)是未來(lái)能夠?qū)⒛愕膽?yīng)用程序升級(jí)到最新 .NET 的一種方式。除了更改目標(biāo)框架版本外,該工具還能夠修改你的代碼以修復(fù)錯(cuò)誤的更改。這些是我們對(duì)未來(lái)的計(jì)劃,以下是該工具目前在最新版本中支持的內(nèi)容:
已支持
- ASP.NET
- Class libraries
- Console
- WPF
- WinForms
這些工作負(fù)載與 Upgrade Assistant CLI 工具相當(dāng)。
即將推出
- Xamarin 遷移到 .NET MAUI
- UWP 遷移到 WinUI
- WCF 遷移到 WCF Core
這些遷移類(lèi)型正在開(kāi)發(fā)中。你現(xiàn)在已經(jīng)可以升級(jí)這些項(xiàng)目,但我們還沒(méi)有這些項(xiàng)目的代碼修復(fù)程序。如果你現(xiàn)在就需要遷移這些項(xiàng)目類(lèi)型,我們建議使用現(xiàn)有的升級(jí)助手命令行工具,該工具已經(jīng)包含代碼修復(fù)程序。Visual Studio 擴(kuò)展包也將很快擁有這一程序。
?
不同的升級(jí)類(lèi)型
?
升級(jí)助手支持3種升級(jí)類(lèi)型。不同的項(xiàng)目類(lèi)型對(duì)應(yīng)不同的升級(jí)類(lèi)型,因此你只會(huì)看到那些適合你的應(yīng)用程序的選項(xiàng)。
In-place
選擇該升級(jí)類(lèi)型,你的原始項(xiàng)目將立即升級(jí)。如果你在使用 source control(源代碼管理)并且更喜歡自己管理副本,例如,通過(guò)使用 branch (分支)管理,你可以選擇這一升級(jí)類(lèi)型。
Side-by-side
有了這一升級(jí)類(lèi)型,你的原始項(xiàng)目將保持不變,同時(shí)會(huì)有一個(gè)包含升級(jí)代碼的副本添加到你的解決方案中。如果你的應(yīng)用程序有許多升級(jí)后可能會(huì)損壞的依賴項(xiàng),則選擇此升級(jí)類(lèi)型會(huì)很方便。這樣你就可以檢查你的進(jìn)度,而不必?fù)?dān)心應(yīng)用程序無(wú)法構(gòu)建。
Side-by-side?incremental
這是 Web 應(yīng)用程序的理想選擇。從 ASP.NET 升級(jí)到 ASP.NET Core 需要大量工作,有時(shí)還需要手動(dòng)重構(gòu)(因?yàn)檫@兩種技術(shù)非常不同)。Class Libraries 通常與 Web 應(yīng)用程序一起使用,因此我們也為 Class Libraries 啟用了此類(lèi)升級(jí)。增量升級(jí)會(huì)將 .NET 6/7 項(xiàng)目放在現(xiàn)有 .NET Framework 項(xiàng)目旁邊,并將在 .NET 6/7 項(xiàng)目中實(shí)現(xiàn)的端點(diǎn)路由到那里,而所有其他調(diào)用將發(fā)送到 .NET Framework 應(yīng)用程序。通過(guò)這種方式,你可以將升級(jí)與功能開(kāi)發(fā)結(jié)合起來(lái),并將你的項(xiàng)目一一遷移到 .NET 6/7,同時(shí)也能確保不會(huì)破壞你的應(yīng)用程序。這種方法最初是在 Microsoft Project Migrations 工具中構(gòu)建的,你可以將 Visual Studio 中的升級(jí)助手視為 Microsoft Project Migrations 經(jīng)過(guò)改進(jìn)和擴(kuò)展后的新版本。從 .NET Core 或 .NET 5 升級(jí)到 .NET 6/7 比從 .NET Framework 升級(jí)要容易得多,因此 .NET Core 或 .NET 5 的升級(jí)建議使用 In-place 升級(jí)類(lèi)型。
在下表中,你可以按項(xiàng)目類(lèi)型找到所有升級(jí)類(lèi)型的狀態(tài)。
?
逐步升級(jí)
?
1.安裝?Visual?Studio?升級(jí)助手拓展包。
2.在 Visual Studio 的?Solution Explorer 里右鍵單擊要升級(jí)的項(xiàng)目,選擇?Upgrade。
3.你將看到主頁(yè),其中包含一些升級(jí)選項(xiàng)。?
在不同的升級(jí)類(lèi)型中介紹了要選擇的選項(xiàng)。
4.對(duì)于此示例,我選擇?In-place.?Side-by-side?將非常相似,只需執(zhí)行一些額外的步驟。side-by-side incremental?的其他功能在我們之前的博客文章中進(jìn)行了介紹。
5.然后,你需要選擇要升級(jí)到的框架。該工具將僅建議對(duì)你的項(xiàng)目類(lèi)型有意義的選項(xiàng)。在我的示例中,它是一個(gè) .NET Framework Class Library,因此它也建議使用 .NET Standard。
所有升級(jí)都是向前的,這意味著,例如,如果你的項(xiàng)目已在 .NET 6 上,則只會(huì)提供 .NET 7 及更高版本。如果你的計(jì)算機(jī)上未安裝所選的 SDK,系統(tǒng)將在下一步中提示你安裝它。只需點(diǎn)擊鏈接,并在安裝 SDK 后返回升級(jí)。.NET Standard 僅建議用于面向 .NET Framework 的 Class?Libraries。
6.現(xiàn)在該選擇要升級(jí)的組件了。最終,你將需要升級(jí)所有內(nèi)容,但是如果你更喜歡逐步升級(jí),則可以選擇要開(kāi)始的屏幕。?
7.單擊?Upgrade selection?后,你將看到升級(jí)進(jìn)度和升級(jí)完成后的報(bào)告。
現(xiàn)在,你可以直接從 Visual Studio 中升級(jí) .NET 項(xiàng)目。請(qǐng)?jiān)诒疚南路搅粞?,告訴我們使用體驗(yàn),以及你的項(xiàng)目還需要什么。謝謝你的反饋!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-786995.html
點(diǎn)我前往原博客了解更多信息~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-786995.html
到了這里,關(guān)于用 Visual Studio 升級(jí) .NET 項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!