.NET
Kif Taħdem il-Modernizzazzjoni ta' .NET bil-Copilot Upgrade Agent
Microsoft ippubblikat kors b'xejn dwar l-upgrade ta' apps ta' .NET Framework għal .NET 10, flimkien ma' dokumentazzjoni sħiħa dwar il-Copilot modernization agent. Hawn x'jagħmel verament il-workflow ta' assess, plan, execute.
Microsoft ippubblikat kors b'xejn imsejjaħ .NET Modernization for Beginners, flimkien ma' sezzjoni sħiħa ta' dokumentazzjoni għall-Copilot modernization agent li huwa mibni madwaru. It-tnejn huma materjal verament tajjeb, u l-modernizzazzjoni tikseb ħafna inqas kopertura milli tibda ħaġa ġdida.
Għaliex il-modernizzazzjoni hija suġġett reali
Ħafna kontenut dwar .NET jassumi folder vojt. Agħżel l-aħħar verżjoni, agħżel il-patterns tiegħek, ibda. Dik hija l-parti divertenti, u hija frazzjoni żgħira tax-xogħol reali fl-industrija.
Ammont kbir ta' .NET fil-produzzjoni jaħdem fuq .NET Framework, miktub snin ilu minn nies li kienu qed jieħdu deċiżjonijiet raġonevoli għall-għodda ta' dak iż-żmien. Dawk l-applikazzjonijiet għad għandhom bżonn manutenzjoni, u eventwalment għandhom bżonn jiċċaqalqu, għal support lifecycles, security patching, prestazzjoni, cloud hosting, jew sempliċiment biex tibqa' tista' tħaddem nies li jridu jaħdmu fuqhom.
Li tagħmel upgrade lil applikazzjoni reali huwa aktar diffiċli milli tibda waħda ġdida, għax il-verżjoni tal-framework qatt mhi l-parti diffiċli. Il-parti diffiċli hija t-tużżana affarijiet li kienu jiddependu bil-mod fuq imġiba antika.
Il-workflow: assess, plan, execute
L-approċċ kollu huwa mibni fuq tliet stadji, f'dak l-ordni, u l-ordni hija l-idea utli.
L-assessment jeżamina l-istruttura tal-proġett, id-dependencies, u l-patterns tal-kodiċi, imbagħad jirrapporta breaking changes, problemi ta' kompatibbiltà tal-API, patterns deprecated, u l-firxa tax-xogħol.
Il-planning idawwar dak l-assessment flimkien mad-deċiżjonijiet ikkonfermati tiegħek f'specification: strateġija tal-upgrade, approċċ ta' refactoring, mogħdijiet ta' dependencies, mitigazzjonijiet tar-riskju.
L-execution jaqsam il-pjan f'tasks sekwenzjali konkreti, kull waħda b'kriterji ta' validazzjoni, biex kull bidla jkollha definizzjoni ta' "dan ħadem."
Il-punt li tissepara dawn huwa li rapport ta' assessment huwa għodda ta' deċiżjoni, mhux output biex tgħaddi minn fuqu ħafif. Li taqrah u tiddeċiedi x'verament huwa riskjuż huwa l-ħila. L-edits mekkaniċi huma n-nofs faċli.
X'jkopri l-kors
Ħames kapitli li jsegwu dik il-forma:
- 00 introduzzjoni u l-workflow ġenerali
- 01 assessment, iħaddem analiżi ta' kompatibbiltà kontra app legacy
- 02 planning, idawwar is-sejbiet f'strateġija bi prijorità
- 03 execution, il-migrazzjoni nnifisha
- 04 deployment tal-applikazzjoni modernizzata fuq Azure
Jaħdem fuq applikazzjoni ta' kampjun imsejħa BookCatalog: app legacy ta' ASP.NET MVC 5 fuq .NET Framework 4.8, meħuda għal .NET 10. Li tuża codebase reali b'deċiżjonijiet akkumulati fiha jimporta, għax eżempju tal-ġugarelli nadif ma kienx jipproduċi l-problemi ta' kompatibbiltà li jagħmlu l-istadju tal-assessment jistħoqqlu jitgħallem fl-ewwel lok.
Il-prerekwiżiti biex issegwih kif miktub huma Windows 11, Visual Studio 2026, sottoskrizzjoni ta' GitHub Copilot, u kemm l-SDKs ta' .NET Framework 4.8 kif ukoll ta' .NET 10.
X'jieħu ħsieb l-agent
Il-modernization agent jaħdem f'Visual Studio, VS Code, il-GitHub Copilot CLI, u fuq GitHub.com. Tippunta lejn solution u tiddeskrivi x'trid:
Upgrade my solution to .NET 10
Convert to SDK-style
Upgrade from Newtonsoft.Json
Migrate my Web Forms app to Blazor
Il-mogħdijiet ta' upgrade appoġġati jkopru aktar minn sempliċiment li taqbeż għall-aħħar verżjoni:
| Sors | Mira |
|---|---|
| .NET Framework, kwalunkwe verżjoni | .NET 8 jew aktar tard |
| .NET Framework, kwalunkwe verżjoni | .NET Framework 4.8.1 |
| .NET Core 1.x sa 3.x | .NET 8 jew aktar tard |
| .NET 5 jew aktar tard | .NET 8 jew aktar tard |
Lil hinn mill-upgrades tal-verżjoni hemm xenarji mmirati għal migrazzjonijiet speċifiċi: Newtonsoft.Json għal System.Text.Json, System.Data.SqlClient għal Microsoft.Data.SqlClient, Azure Functions mill-mudell in-process għall-mudell isolated worker, Web Forms għal Blazor, u ż-żieda ta' appoġġ għal Aspire.
It-tipi ta' proġetti koperti jinkludu ASP.NET Core b'MVC, Razor Pages u Web API, Web Forms, Blazor, Azure Functions, WPF, Windows Forms, WinUI, MAUI u Xamarin, class libraries, console apps, u test projects fuq MSTest, NUnit, jew xUnit.
Id-dettall tad-disinn ta' min jagħti kasu
L-agent jikteb ix-xogħol tiegħu fuq id-disk bħala Markdown, f' .github/upgrades/{scenarioId}:
assessment.md analiżi tas-solution
upgrade-options.md deċiżjonijiet ta' upgrade ikkonfermati
plan.md pjan ta' tasks ordnat
tasks.md dashboard tal-progress ħaj
scenario-instructions.md memorja persistenti, preferenzi u deċiżjonijiet
Dawk il-fajls jistgħu jiġu editjati qabel ma tħallih ikompli. Dak hu li jagħmel din għodda minflok buttuna maġika: jekk l-assessment fehem xi ħaġa ħażin, tikkoreġi l-Markdown u l-pjan isegwi mill-korrezzjoni tiegħek.
Peress li l-istat kollu jgħix f'dak il-folder, il-proċess jibqa' ħaj wara li tagħlaq l-IDE, u jista' saħansitra jitkompla f'editor differenti minn dak li beda fih. Jikkommetti hekk kif jipproċedi, għalhekk li terġa' lura minn pass ħażin hija operazzjoni normali ta' git minflok undo li tittama jaħdem.
Strateġiji u kontroll tal-fluss
Matul l-assessment l-agent jirrakkomanda waħda minn tliet strateġiji, u liema waħda taqbel tiddependi fuq il-forma tas-solution:
- Bottom-up jagħmel upgrade lil-proġetti ta' isfel l-ewwel u jaħdem 'il fuq, għal solutions kbar b'graphs ta' dependencies profondi
- Top-down jagħmel upgrade lill-proġett tal-applikazzjoni l-ewwel u mbagħad isewwi d-dependencies, għal feedback malajr fuq l-app ewlenija
- All-at-once jagħmel kollox f'daqqa waħda, għal solutions żgħar
Hemm ukoll żewġ modi ta' fluss. Automatic jgħaddi mill-istadji kollha u jieqaf biss f'blockers ġenwini. Guided jieqaf f'kull konfini ta' stadju biex tkun tista' tirrevedi l-assessment, il-pjan, u t-tasks qabel ma jipproċedi. Taqleb bejniethom nofs proċess billi tgħid "pause" jew "continue."
Għaliex jistħoqq li tafu dan
L-upgrades tal-verżjoni huma l-parti viżibbli tal-modernizzazzjoni u l-parti l-iżgħar. Dak li dan il-materjal verament jgħallem huwa l-proċess madwaru: li assessment jipproduċi dokument li int mistenni targumenta miegħu, li l-istrateġija tiddependi fuq il-graph tad-dependencies minflok preferenza, u li x-xogħol għandu jiġi kkommettjat b'mod inkrementali biex kull pass ikun jista' jitreġġa' lura.
Dik l-għarfien japplika kemm jekk tuża l-Copilot agent biex tagħmel ix-xogħol kif ukoll jekk le, u huwa t-tip ta' ħaġa li huwa ħafna aħjar li tkun qrajt qabel ma ssir urġenti milli matul il-ġimgħa li ssir.