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.
Ez a cikk a .NET GitHub Copilot modernizálása során előforduló gyakori problémákat ismerteti kategóriák szerint rendezve. Minden bejegyzés egy probléma, ok és megoldás formátumát követi, így gyorsan megtalálhatja és megoldhatja a problémákat.
Munkafolyamat-problémák
Ezek a problémák a forgatókönyvek felderítésére, a munka folytatására és a tevékenységállapotra vonatkoznak.
Az ügynök azt mondja, hogy "nem találhatók forgatókönyvek"
Cause: Az ügynök nem ismeri fel a munkaterületet .NET projektként.
Solution:
- Ellenőrizze, hogy a munkaterület gyökere tartalmaz-e
.sln,.csprojvagy.vbprojfájlt. - Kérdezze meg az ügynököt: "Milyen megoldást vagy projektfájlt használ?"
- Ha a megoldás vagy projektfájl egy alkönyvtárban található, nyissa meg a könyvtárat a munkaterület gyökérkönyvtáraként, vagy az ügynököt kifejezetten a fájlra irányítsa.
Az ügynök nem folytathatja az előző munkát
Okoz: A .github/upgrades/ mappa, ahol az ügynök az összes állapotát tárolja, hiányzik vagy sérült.
Solution:
- Ellenőrizze, hogy a
.github/upgrades/mappa létezik-e az adattár gyökerében. - Ha véletlenül törölte a mappát, indítsa újra a forgatókönyvet. Az ügynök nem állítható helyre az állapotfájljai nélkül.
- Ha a mappa létezik, de a fájlok sérültnek tűnnek, kérje meg az ügynököt, hogy "értékelje újra és tervezze újra" őket.
Jótanács
.github/upgrades/ mappát tegye elérhetővé az ágán, hogy az a munkamenetek és gépek között elérhető maradjon.
Folyamatban elakadt feladatok
Okoz: Az előző munkamenet akkor ért véget, amikor az ügynök a feladat közepén volt.
Solution:
- Az ügynök a legtöbb esetben automatikusan észleli az elavult feladatokat. Mondja el az ügynöknek, hogy "folytassa" vagy "indítsa újra az aktuális feladatot".
- Ha a elakadt állapot továbbra is fennáll, mondja el az ügynöknek, hogy "jelölje meg az aktuális feladatot függőben lévőként, majd indítsa újra" vagy "értékelje újra, és folytassa az utolsó befejezett lépéssel".
- Ellenőrizze a megfelelő
progress-details.mdfájlt, hogy tudja, hol állt le az előző munkamenet.
Az ügynök továbbra is rossz forgatókönyvet javasol
Okoz: Az ügynök elemzése váratlan projektjellemzőket észlelt, és a tervezettnél eltérő forgatókönyvet vont maga után.
Solution:
Legyen explicit, hogy mit szeretne. A "projekt frissítése" helyett mondja a következőt:
- "10-re szeretnék frissíteni .NET."
- "Frissíteni szeretnék a Newtonsoft.Json-ról a System.Text.Json-ra."
- "Projekt átalakítása SDK-stílusú formátumra."
A jövőbeli eltérések elkerülése érdekében adjon hozzá forgatókönyv-beállítási preferenciákat a scenario-instructions.md-hoz.
Összeállítással és fordítással kapcsolatos problémák
Ezek a problémák a buildelési hibákhoz, a NuGet-visszaállítási problémákhoz és a kódgenerálási hibákhoz kapcsolódnak.
A build az ügynök módosításai után sikertelen
Okoz: A frissítések kompatibilitástörő API-módosításokat, hiányzó csomagokat vagy nem kompatibilis kódmintákat okozhatnak.
Solution:
- Tájékoztassa az ügynököt a hibáról. Az ügynök automatikusan elemzi a hibákat.
- Ha az ügynök nem tudja megoldani a problémát, állítsa vissza az utolsó véglegesítést (
git revert HEAD), és kérje meg az ügynököt, hogy próbálkozzon egy másik megközelítéssel. - Összetett hibák esetén ellenőrizze
execution-log.md-t, hogy az ügynök mit változtatott, és milyen sorrendben.
A NuGet visszaállítása sikertelen
Okoz: A csomag inkompatibilitása a cél-keretrendszerrel vagy a privát NuGet-hírcsatornákkal kapcsolatos hitelesítési hibák.
Solution:
- Privát hírcsatornák esetén: A frissítés megkezdése előtt hitelesítse magát a hírcsatornában.
- Nem kompatibilis csomagok esetén: Mondja el az ügynöknek, hogy melyik csomag problémás. Az ügynök megkeresheti a kompatibilis verziókat, vagy alternatív csomagokat javasolhat.
-
Hírcsatorna-kapcsolati problémák esetén: Ellenőrizze, hogy manuálisan futtatható-e
dotnet restore. Először javítsa ki a hírcsatorna hibáit, majd hagyja, hogy az ügynök újrapróbálkozjon.
Az ügynök nem lefordított kódot hoz létre
Okoz: Az AI által generált kód hibákat tartalmazhat, különösen peremhálózati esetekben vagy nem gyakori API-minták esetén.
Solution:
- Az ügynök automatikusan észleli a fordítási hibákat. Ha az ügynök nehézségekkel küzd, adjon meg útmutatást, vagy javítsa ki manuálisan a kódot, és kérje meg az ügynököt, hogy folytassa.
- Ha az ügynök több próbálkozás után is egy adott javítással küzd, szerkessze manuálisan a kódot, és mondja el az ügynöknek: "Kijavítottam a fordítási hibát a MyClass.cs fájlban, jelölje meg ezt a feladatot befejezettnek."
- Az ügynök a manuális javításból tanul, és hasonló mintákat alkalmaz, amikor ugyanez a probléma máshol jelenik meg.
Git-problémák
Megjegyzés:
Az ügynök Git-mappák nélkül is működik. Ha a munkaterület nem Git-adattár, az ügynök kihagyja a Git-műveleteket (elágaztatás, véglegesítés), és közvetlenül a fájlokra alkalmazza a módosításokat. A Git nélkül a kezdés előtt manuálisan biztonsági másolatot készíthet a projektről, hogy szükség esetén vissza tudja állítani.
Az ügynök nem tud ágat létrehozni
Okoz: A munkafa nem véglegesített módosításai, az ágelnevezési ütközés vagy a Git nincs inicializálva a munkaterületen.
Solution:
- Véglegesítse vagy rejtse el a függőben lévő módosításokat, mielőtt elindít egy forgatókönyvet.
- Ellenőrizze, hogy a Git inicializálva van-e úgy, hogy a munkaterület gyökerében lefuttatja a
git statusparancsot. - Ha már létezik egy ág az ügynök kívánt nevével, törölje a meglévő ágat, vagy kérje meg az ügynököt, hogy használjon másik ágnevet.
Az összes ügynökmódosítás visszavonása
Okoz: A frissítés nem a tervek szerint haladt, és újra szeretné kezdeni.
Solution:
- Váltson vissza az eredeti ágra (vagy az alapágra
git checkout main). - Az ügynök munkaága tartalmazza a fő ágtól elkülönített összes módosítást.
- Az ügynök ágának teljes eltávolításához futtassa a parancsot
git branch -D <agent-branch-name>. - Néhány módosítás megtartásához választólagosan adja hozzá a megfelelő feltöltéseket a cherry-pick segítségével
git cherry-pick <commit-hash>.
Jótanács
Az ügynök részletes véglegesítéseket végez tevékenységenként, így ön szelektíven megtarthatja a végrehajtott módosításokat.
Teljesítménnyel kapcsolatos problémák
Ezek a problémák a frissítés sebességéhez és az értékelés időtartamához kapcsolódnak.
Az ügynök lassú vagy sokáig tart
Okoz: A sok projekttel, összetett függőségi grafikonokkal vagy számos kompatibilitástörő módosítással rendelkező nagy megoldások természetesen tovább tarthatnak.
Solution:
Nagy méretű megoldások (több mint 50 projekt) esetén fontolja meg a frissítést csoportosan. Csoportosítsa a kapcsolódó projekteket, és frissítse őket együtt.
Az értékelés hosszú időt vesz igénybe
Ok: Az értékelés elemzi az összes projekt függőségeit, NuGet-csomagjait, célkeretrendszereit és az alkalmazható kompatibilitástörő változásokat. A nagy megoldások esetében az értékelés természetesen tovább tart.
Solution:
- A hosszú értékelési idők a nagy megoldások esetében normálisak. Nincs szükség műveletre.
- A "Folyamatok" panelen figyelje a haladást, és válassza a Visual Studio legördülő listájában az AppModernizationExtension lehetőséget.
- Az értékelés forgatókönyvenként csak egyszer fut. A következő fázisok a gyorsítótárazott eredményeket használják.
Testreszabási problémák
Ezek a problémák egyéni készségekkel és forgatókönyv-utasításfájlokkal kapcsolatosak.
Az egyéni képességek nem lesznek felvéve
Okoz: A képességfájl nem megfelelő helyen található, hiányzó vagy érvénytelen metaadatokkal rendelkezik, vagy helytelen formátumú.
Solution:
- Ellenőrizze, hogy a képességfájl a támogatott helyek egyikén található-e:
-
.github/skills/(adattárszintű, csapatszintű) -
.github/upgrades/skills/(forgatókönyvszintű) -
%UserProfile%/.copilot/skills/(felhasználói szintű, személyes)
-
- Ellenőrizze, hogy a képesség metaadatai legalább
nameésdescriptionmezőket tartalmaznak-e. - Győződjön meg arról, hogy a
discoverymező (ha be van állítva) az alábbiak egyike:lazy,preloadvagyscenario. - Ellenőrizze, hogy a képesség megfelel-e
descriptionaz elvárt tevékenységtípusnak. Az ügynök leírás-egyeztetéssel választja ki a készségeket.
A scenario-instructions.md módosításai nem lépnek érvénybe
Okoz: Előfordulhat, hogy a szoftverügynök nem olvassa újra a fájlt menet közben, vagy a módosítások nem a megfelelő szakaszban vannak.
Solution:
- Kérje meg az ügynököt, hogy "töltse be újra az utasításokat" , vagy indítsa el az új csevegési munkamenetet az újraolvasás kényszerítéséhez.
- Ellenőrizze, hogy a módosítások a fájl megfelelő szakaszaiban vannak-e:
- Felhasználói beállítások: Általános beállítások és korlátozások.
- Főbb döntések: A frissítés során hozott fontos döntések rögzítéséhez.
- Egyéni utasítások: Adott viselkedési felülbírálások esetén.
- Ellenőrizze, hogy a fájl mentve van-e, és a várt elérési úton van-e:
.github/upgrades/{scenarioId}/scenario-instructions.md.
Segítség kérése
Ha valami nem a várt módon működik:
- Kérdezze meg az ügynököt: Kérdezze meg a következőt: "Mi történt az utolsó feladattal?" Az ügynök gyakran elmagyarázza, mi történt, és javasolhatja a következő lépéseket.
-
Tekintse át a végrehajtási naplót: Nyissa meg
execution-log.mda.github/upgrades/{scenarioId}/. A napló egy időrendi rekordot jelenít meg arról, hogy mit tett az ügynök, beleértve az esetleges hibákat is. - Jelentse a problémát: Ha hibát észlel, vagy az ügynök valamiben következetesen nem működik jól, jelentse be a problémát a @modernize-dotnet GitHub tárházban.