Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Kövesse ezeket az irányelveket, hogy a .NET projektek frissítésekor a legjobb eredményeket kapja GitHub Copilot modernizálásból.
Mielőtt elkezdenéd
A legjobb eredmények elérése érdekében készítse elő a projekteket a frissítés megkezdése előtt.
Ellenőrizze, hogy a megoldás buildjei és tesztjei sikeresek-e
Az ügynök buildek és tesztek futtatásával ellenőrzi a módosításokat. Ha a megoldás már a kezdés előtt megszakadt, az ügynök nem tudja megkülönböztetni a már meglévő hibákat a bevezetett problémáktól.
Dokumentálja az ismert tesztelési scenario-instructions.md hibákat, hogy az ügynök tudja, hogy figyelmen kívül hagyja őket.
Nem véglegesített munka véglegesítése vagy elrejtése
Kezdje egy tiszta munkakönyvtárral, hogy ne keverje össze az el nem kötelezett változtatásokat az ügynök módosításaival. A tiszta alapkonfiguráció megkönnyíti a módosítások áttekintését vagy visszaállítását.
git stash
git status
Nem Git-adattárak biztonsági mentése
Az ügynök olyan mappákkal is működik, amelyek nem tartoznak a forráskövetés alá. Ha a projekt nincs Git-adattárban, az ügynök kihagyja az ág- és véglegesítési műveleteket. Ha igen, a kezdés előtt biztonsági másolatot készíthet a projektmappáról, hogy szükség esetén visszaállíthassa.
A frissítés megkezdése előtt célszerű lehet inicializálni egy helyi Git-tárházat, még akkor is, ha nem szükséges feltölteni egy felhőszolgáltatóhoz. A helyi Git-adattár lehetővé teszi a következőket:
- Egyéni módosítások visszavonása a
git revertsegítségével. - A frissítés előrehaladásának nyomon követése lépésről lépésre a véglegesítési előzményekben.
- A megtartandó vagy elvetendő módosítások szabályozása.
- Tartsa biztonságban az eredeti kódot a fő ágon, miközben az ügynök egy külön ágon dolgozik.
cd your-project-folder
git init
git add .
git commit -m "Baseline before upgrade"
A teszt lefedettségének áttekintése
Az ügynök tesztekkel ellenőrzi, hogy a módosítások nem törik-e meg a viselkedést. A jó tesztelési lefedettséggel rendelkező projektek nagyobb megbízhatósági frissítéseket kapnak.
Jótanács
Nincs szükség 100% lefedettségre. A frissítés során valószínűleg megváltozik a kód, például az API-határok, a szerializálás, az adatbázis-hozzáférés és a hitelesítés.
Kicsi kezdés
Ha először használja az ügynököt, válasszon egy kis, alacsony kockázatú projektet próbaüzemként. Egy osztálytár vagy segédprogramprojekt ideális. A kis lépésektől kezdve megismerheti a munkafolyamatot, magabiztosságot építhet ki, és felderítheti az adattárral kapcsolatos problémákat a fő alkalmazás kezelése előtt.
A frissítés során
Kövesse ezeket az útmutatásokat, amíg az ügynök végigmegy a frissítésen.
Irányított mód használata az első frissítéshez
Az ügynök támogatja az irányított és az automatikus módokat is. Irányított módban az ügynök a felülvizsgálat és jóváhagyás legfontosabb döntési pontjainál szünetel. Kezdje az irányított módban, hogy megértse az ügynök működését és okát. Váltson automatikus üzemmódra, ha már jól ismeri a munkafolyamatot.
Az értékelés alapos áttekintése
Az értékelés a legjobb lehetőség a problémák megoldására, mielőtt az ügynök elkezdené a módosításokat. Keresse a következőt:
- Az ügynök által kihagyott vagy tévesen megadott projektek.
- A ismert függőségek problémásak.
- Bármi szokatlan a megoldásban, amit az ügynöknek tudnia kell.
Ha észlel valamit, mondja el az ügynöknek a csevegésben, vagy adja hozzá az információkat scenario-instructions.md. Közvetlenül szerkesztheti assessment.md a környezetet, kijavíthatja a helytelenül megadott projekteket, vagy megjelölheti a problémákat, mielőtt az ügynök megkezdené a tervezést.
Szánj elegendő időt a tervezési fázisra.
Az ügynök az értékelés alapján létrehoz egy tervet. A folytatás előtt tekintse át a tervet:
- Van értelme a sorrendnek a kódbázisban?
- Vannak függőségek, amelyekről az ügynök nem tud?
- Minden projektet ki kell zárni vagy másképp kell kezelni?
Kérje meg az ügynököt, hogy átrendezze a feladatokat, hagyja ki a projekteket, vagy módosítsa annak megközelítését. Ön jobban ismeri a kódbázist, mint az ügynök, ezért használja ezt a tudást. Szerkessze közvetlenül a plan.md fájlt a feladatsorrend módosításához, feladatok hozzáadásához vagy eltávolításához.
Figyelmeztetés
Legyen óvatos, amikor közvetlenül szerkeszti a plan.md. Előfordulhat, hogy az ügynök nem teljesen értelmezi a módosításokat, ha ellentmondásos utasításokat hoznak létre. Például eltávolít egy függőségi projektet, miközben megtartja az attól függő projekteket.
Azonnali visszajelzés küldése
Az ügynök tanul a javításokból egy munkameneten belül. Ha az ügynök olyan döntést hoz, amellyel nem ért egyet:
- Mondja el azonnal: "Ne használja ezt a mintát, használja inkább az X-et."
- Adja hozzá az állandó útmutatást a
scenario-instructions.md-hez, hogy az ügynök feladatokon és munkameneteken át megjegyezze azt.
Maradjon aktív a végrehajtás során
A végrehajtás nem felügyelet nélküli. Mielőtt azt mondaná az ügynöknek, hogy kezdje, tekintse át a következőt tasks.md:
- Van értelme a feladatrendelésnek a kódbázishoz?
- Vannak-e olyan tevékenységek, amelyeket ki szeretne hagyni, vagy újrasorrendezni?
- Hiányzik valamilyen tevékenység?
Kérje meg az ügynököt, hogy módosítsa a feladatlistát, vagy szerkessze tasks.md közvetlenül a végrehajtás megkezdése előtt. Ha a végrehajtás elindul, ha az ügynök rossz döntést hoz a feladat közepén, azonnal jelezze neki – a javítást a továbbiakban alkalmazza.
A kódbázist jobban ismeri, mint az ügynököt, ezért ezt a tudást minden szakaszban használja.
Gyakori buktatók
Figyelje meg ezeket a gyakori problémákat, amelyek lelassíthatják vagy bonyolíthatják a frissítést.
Nagy megoldások több mint 50 projekttel
Az ügynök projektenkénti munkát végez, így a nagy megoldások időigényesek. Legyen türelmes, és figyelje az előrehaladást. Mielőtt elköteleződnénk a teljes megoldás mellett, érdemes egy reprezentatív projektet teljeskörűen végigvinni. Az egyprojektes próbaüzem korai szakaszában rendszerszintű problémákat tapasztal.
Privát NuGet-hírcsatornák
Privát NuGet-hírcsatornák esetén a frissítés megkezdése előtt hitelesítse magát (például a szervezet hitelesítőadat-szolgáltatóján vagy adatcsatornájának konfigurációján keresztül). Hitelesítés nélkül a csomag-visszaállítási hibák blokkolják a folyamat előrehaladását.
Egyéni MSBuild-célok és importálás
Az összetett build testreszabásai, például az egyéni .targets fájlok, a feltételes importálások vagy a nem szabványos buildlogika megzavarhatják az értékelést, és váratlan buildhibákat okozhatnak. Ha a megoldás rendelkezik ezekkel a testreszabásokkal, említse meg őket a csevegésben vagy a scenario-instructions.md, hogy az ügynök figyelembe tudja venni őket.
Munkamenet időtúllépései
A hosszan futó frissítések több munkamenetre is kiterjedhetnek. Az ügynök nyomon követi a munkafolyamat-fájlokban (.github/upgrades/ alatt) elért előrehaladását, így ott folytathatja, ahol abbahagyta. Amikor új munkamenetet indít, említse meg, hogy hol volt: "A .NET 10 frissítés folytatása. A Data.Access projekt közepén voltam."
Hatékony együttműködés
Az interakció minősége közvetlenül befolyásolja az eredmények minőségét.
Legyen konkrét a hatókörrel kapcsolatban
Minél konkrétabb ön, annál jobban teljesít az ügynök:
| a következő helyett: | Próbálja ki |
|---|---|
| "Minden frissítése" | "A Data.Access projekt .NET 10-re történő frissítése" |
| "A build javítása" | "Az eltávolított API-val kapcsolatos CustomerService.cs buildelési hibájának kijavítása" |
| "Az adatbázis frissítése" | "Az Entity Framework 6 frissítése EF Core-ra az adattárprojektben" |
A korlátozások megosztása
Előre tájékoztassa az ügynököt a valós korlátozásokról:
- "Nem tudjuk megszakítani a nyilvános API visszamenőleges kompatibilitását."
- "Két hét múlva van egy megjelenési határidőnk, ezért rangsoroljuk a webes projekteket."
- "Az örökölt jelentéskészítő modult ki kell zárni ebből a frissítésből."
Az architektúra ismertetése
Az ügynök elemzi a kódstruktúrát, de nem ismeri a csapat mentális modelljét. Segítsen az ügynöknek megérteni a következőt:
- "Project A a megosztott kódtárunk. B, C és D mind ettől függ.
- "A WebApi-projekt a nyilvános elérésű API; Az Internal.Api csak belső szolgáltatásokhoz használható."
- "A Models projekt automatikusan generálódik az OpenAPI-specifikációnkból. Ne módosítsa közvetlenül."
Kérdezze meg, miért
Az ügynök meg tudja magyarázni az érvelését. Ha egy döntés nem tűnik helyesnek, kérdezze meg a következőt:
- "Miért az alulról felfelé haladó sorrendet választotta?"
- "Miért frissíti ezt a csomagot Y helyett X verzióra?"
- "Miért osztotta ezt részfeladatokra?"
Az érvelés megértése segít jobb visszajelzést adni.
Beállítások korai mentése
Ha a kódolási stílussal, mintákkal vagy megközelítésekkel kapcsolatban erősek a preferenciái, vegye fel őket scenario-instructions.md első munkamenetbe. Ez a fájl több munkamenetben is megmarad, és mindig az ügynök kontextusában van, így ez a legmegbízhatóbb módja a viselkedés befolyásolásának.
Problémákból való helyreállítás
Ezeket a stratégiákat akkor használja, ha a frissítés nem a várt módon halad.
Buildhibák egy feladat után
Mondja el az ügynöknek: "A build az utolsó feladat után meghiúsul." Az ügynök elemzi a hibát, és megpróbálja kijavítani. Ha az ügynök nem tudja megoldani a problémát:
- Adjon meg egy manuális javítást, és mondja el az ügynöknek, hogy mit tett. Az ügynök a javításból tanul.
- Állítsa vissza a véglegesítést (
git revertvagy állítsa vissza az előző véglegesítésre), és kérje meg az ügynököt, hogy próbálkozzon egy másik megközelítéssel. - Hagyja ki a problémás feladatot, és térjen vissza később.
Helytelen stratégia van kiválasztva
Ha az ügynök általános hozzáállása nem működik a kódbázisban, indítsa újra a tervezési szakaszt:
- "Kezdjük újra a tervet. A webes projekteket szeretném először frissíteni, nem pedig alulról felfelé.
- "Módosítsa a stratégiát az összes megosztott kódtár frissítésére egy kötegben."
Egy hurokban elakadt ügynök
Ha az ügynök ugyanezt a javítást előrehaladás nélkül ismétli, mondja ki a "Leállítás" szöveget, és írja le, hogy mit figyel, vagy állítsa le manuálisan a munkamenetet. Az ügynök alaphelyzetbe állíthatja a megközelítését, és kipróbálhat valami mást.
Az összes módosítás visszavonása
Ha Git-ágat használt a frissítéshez, vonjon vissza mindent az eredeti ágra való visszaváltással:
git checkout your-original-branch
git branch -D upgrade-branch
Az eredeti kód érintetlen. Ha forráskezelés nélkül dolgozik, állítsa vissza a kezdés előtt készített biztonsági másolatból.
Biztonság és adatvédelem
- Kódrészletek: GitHub Copilot ezeket a GitHub Copilot adatvédelmi szabályzata szerint dolgozza fel, és nem őrzi meg őket az azonnali munkameneten túl.
-
Munkafolyamat-fájlok (
scenario-instructions.mdegyéni feladatok, beállítások) az adattárban maradnak.github/upgrades/. GitHub nem továbbítja ezeket a fájlokat külső szolgáltatásoknak. -
A
.github/upgrades/mappa az adattár része. Véglegesítse a mappát, mert az tartalmazza a frissítés előrehaladását és állapotát. Az ügynöknek szüksége van a mappára a munkamenetek közötti munka folytatásához. A frissítés befejezése után eltávolíthatja. - Telemetria: Tiltsa le az IDE telemetriai beállításaival.
Teljesítménnyel kapcsolatos tippek
- Zárja be a szükségtelen fájlokat és lapokat: Az ügynök elemzi az aktív munkaterületet, és kevesebb megnyitott fájl kevesebb zajt jelent.
- A nagyon nagy megoldások fázisaiban történő frissítés: Ahelyett, hogy egyszerre frissítenél minden projektet, kötegeld be őket. Először frissítse például az összes kódtárat, majd az összes webes projektet, majd a teszteket.
- Build-gyorsítótárazás használata: Az ügynök számos inkrementális buildet futtat az ellenőrzés során. A feltöltött buildgyorsítótárak jelentősen felgyorsítják az ellenőrzést. Kerülje a buildkimenet megtisztítását a tevékenységek között.