Windows tesztkörnyezet végrehajtása

Készítse el a saját gépén, majd futtassa és automatizálja az alkalmazást a Windows Sandboxban:

winapp run . --on sandbox --detach
winapp ui inspect --on sandbox -a MyApp
winapp ui invoke --on sandbox SubmitButton -a MyApp

Cserélje le a(z) MyApp elemet az alkalmazás nevére vagy a run által kiírt vendég PID-re. --detach az indítás után visszatér, hogy a következő parancs megvizsgálhassa az alkalmazást; nélküle megvárja, run amíg az alkalmazás kilép. A Sandbox tovább fut a parancsok és az újraépítések között.

Mielőtt elkezdenéd

  • A Windows 11 24H2 vagy újabb verzió használata támogatott kiadásban, a hardvervirtualizálás engedélyezve van.
  • A vendég winapp támogatja az x64-et és az Arm64-et. Az x86-alkalmazások futtatásához és az x86-függőségek egyeztetéséhez vendégtámogatásra van szükség; az x64-futtatókörnyezet nem felel meg az x86-alkalmazásoknak.
  • Tartsa nyitva a gazdagép munkamenetét a valós bemenet és a képernyőrögzítés érdekében.

Engedélyezze a Windows Sandbox funkciót a Windows-szolgáltatások be- és kikapcsolása részben, vagy futtassa ezt rendszergazdai terminálból:

dism.exe /Online /Enable-Feature /FeatureName:Containers-DisposableClientVM /All /NoRestart

Mentse a munkáját, és amikor készen áll, indítsa újra a Windowst. Ezután nyissa meg Windows Tesztkörnyezetet a Start menüből, és fejezze be az ügyféltelepítést vagy -frissítést. A winapp nem engedélyezi a funkciót, nem telepíti az ügyfelet, nem kér jogosultságszint-emelést, vagy nem indítja újra a Windows. Ha az előfeltételek hiányoznak, telepítési utasításokkal leáll; az észlelt függőben lévő Windows-újraindítást külön jelzi.

A hideg kapcsolat vagy az újracsatlakozás rövid ideig fókuszba helyezheti a kapcsolatot. Miután csatlakozott, a winapp a saját ügyfélablakát a képernyőről távol tartja anélkül, hogy aktiválta volna. Az Ön által saját maga megnyitott Sandbox-ablak a helyén marad.

Important

A buildek továbbra is futnak a számítógépen. A projekt kiértékelése, visszaállítása és fordítása nem elkülönülten történik. --on sandbox nem teszi biztonságossá a nem megbízható projekt összeállítását.

Egy Sandbox egy megosztott környezet. A benne lévő alkalmazások és munkafolyamatok megosztják a felhasználót, az asztalt, a beállításjegyzéket, a csomagokat, a futtatókörnyezeteket és a hálózati hozzáférést. Megfigyelhetik vagy zavarhatják egymást. Használjon külön gépeket a kölcsönösen nem megbízható munkafolyamatokhoz.

Windows egyszerre csak egy tesztkörnyezetet engedélyez. A winapp újra felhasznál egy futó példányt, beleértve azt is, amelyet ön nyitott meg. Az előkészítés során hozzáadja a Winapp megosztott rendszerindítási mappáit, vendégügynökét, fejlesztői módját és egy bejövő tűzfalszabályt. A winapp nem állítja le az elfogadott példányokat, és nem távolít el nem kapcsolódó alkalmazásokat. Nincs csendes gazdagép-tartalék: a tesztkörnyezetet kérő parancs ott fut vagy sikertelen.

Futtatás és újraépítés

winapp run .\MyApp.csproj --on sandbox --detach --json
winapp run .\publish --on sandbox --detach
winapp run . --on sandbox --clean --detach

Az olyan fordítási beállítások, mint a --configuration, --arch, --framework, --property, --no-build és --no-restore, a gazdagépen érvényesek. A regisztráció, az indítás és a hibakeresés a vendégben történik; az alkalmazás nincs regisztrálva a számítógépen.

Option Effektus a tesztkörnyezetben
--detach Visszatérés a kilövés után a kilépésre várakozás helyett
--no-launch Üzembe helyezés és regisztráció indítás nélkül
--clean Az üzembe helyezés újratelepítése és az alkalmazás adatainak törlése
--unregister-on-exit A csomagregisztráció eltávolítása az alkalmazásból való kilépés után
--with-alias Indítsa el a hozzá tartozó vendégvégrehajtási aliast továbbított adatfolyamokkal.
--debug-output Vendég hibakeresési kimenetének streamelése; csak csomagolt alkalmazások

A csomagolatlan alkalmazások elindítják a végrehajtható fájljukat az üzembe helyezett mappából. Nincs regisztrálandó csomagjuk. --debug-output nem csomagolt Sandbox-futtatások esetén elutasításra kerül.

Az átvitel újrafuttatása módosítja a fájlokat, és eltávolítja a buildkimenetből törölt fájlokat. Az alkalmazás adatai megmaradnak, hacsak Ön nem kéri a(z) --clean műveletet. A hiányos telepítés nem indul el; az újrapróbálás újraépíti a vendégmásolatát. Ha a buildfájlok megváltoznak, miközben a WinApp előkészíti őket, fejezze be a buildelést, és próbálkozzon újra.

A meleg felhasználói felületi parancsok csak az eredményüket jelentik, a tesztkörnyezetre vonatkozó előkészítési üzenet megismétlése nélkül. A tesztkörnyezet indítása és a kapcsolat helyreállítása továbbra is jelentést ad a folyamat előrehaladásáról. A kapcsolat időzítéséhez és a diagnosztikai részletekhez használható --verbose , --quiet és --json letiltja a folyamatot. A JSON-futtatások tartalmazzák a vendégfolyamat-azonosítót és a célhatókört:

{
  "ProcessId": 4212,
  "Sandbox": true,
  "ProcessScope": "sandbox",
  "UiTargetArgs": "--on sandbox -a 4212",
  "ExecutionTarget": {
    "Kind": "sandbox",
    "Id": "default",
    "Architecture": "arm64",
    "Epoch": "..."
  }
}

Ezek a futtatási eredmény további mezői, nem pedig különálló dokumentumok. Másolja ki a teljes UiTargetArgs értéket az alkalmazás vizsgálatakor: winapp ui inspect --on sandbox -a 4212. A Sandbox újralétrehozása után újra fel kell deríteni a PID-ket és az ablakkezelőket; ezek a Sandbox adott generációjához tartoznak, nem a gazdagéphez vagy egy későbbi vendégrendszerhez.

Leválasztott alkalmazások és az ügynök élettartama

A leválasztott kicsomagolt alkalmazás leáll, ha a vendégügynök leáll, beleértve az ügynök javítása során is. Ha eltűnik a parancsok között, futtassa újra a(z) --detach paraméterrel, és azonosítsa újra a felhasználói felület célpontját. Ha a leválasztás helyett megvárja az alkalmazást, megfigyelheti, hogyan lép ki; ettől az alkalmazás nem fogja túlélni az ügynök kiesését. A csomagolt alkalmazások a Windows-aktiválást használják, nem pedig az ügynökfolyamat élettartamát. A tesztkörnyezet bezárása vagy újraindítása véget vet az összes alkalmazásnak.

Megosztott futtatókörnyezetek

A winapp ellenőrzi az alkalmazás csomagfüggőségeit, Windows App SDK követelményeit és *.runtimeconfig.json az indítás előtt. A gazdagép gyorsítótárait használja, vagy letölti a szükséges csomagokat, majd a hiányzó támogatott futtatókörnyezeteket a vendég rendszerben telepíti, nem az Ön gépére.

A csomagkövetelmények közé tartozik a közzétevő, a verzió és az architektúra. A megosztott .NET futtatókörnyezet kiválasztása tiszteletben tartja az alkalmazás konfigurált roll-forward szabályzatát és architektúráját; ne feltételezze, hogy ugyanabban a főverzióban egyetlen újabb futtatókörnyezet sem fog működni.

Ha egy keretrendszer, futtatókörnyezet konfigurációja vagy függősége nem támogatott, a parancs az indítás előtt kifejezetten meghiúsul, és azonosítja a követelményt. Kövesse az adott hibához tartozó műveletet. Ha a projekt támogatja, az önálló közzététel szükségtelenné teszi a megfelelő megosztott futtatókörnyezetet; nem távolítja el a nem kapcsolódó csomagfüggőségeket.

A felhasználói felület automatizálása

winapp ui list-windows --on sandbox
winapp ui inspect --on sandbox -a MyApp
winapp ui invoke --on sandbox SubmitButton -a MyApp
winapp ui screenshot --on sandbox -a MyApp -o .\result.png

Minden ui ige elfogadja --on sandbox. Az alkalmazásnevek, a PID-k, az ablakkezelők és a szelektorok feloldása a vendégkörnyezeten belül történik. Alkalmazásra irányuló parancsokhoz használja a -w/--window vagy a -a/--app elemet; a winapp nem próbálja kitalálni a legutóbb elindított alkalmazást. A(z) --on sandbox elhagyása esetén ehelyett a gazdagép asztala lesz kiválasztva.

A valós bemenethez és a rögzítéshez csatlakoztatott, nemminimizált tesztkörnyezeti ügyfél szükséges. A csak olvasható vizsgálat akkor is működhet, amikor a bevitel nem. a winapp aktiválás nélkül visszaállíthatja a saját kis méretű ügyfelet; a manuálisan megnyitott kis méretű ügyfelet Önnek kell visszaállítania. Ha a bemenet az újracsatlakozás után nem érhető el, a parancs hibával leáll, ahelyett hogy azt állítaná, sikeresen átadta a bemenetet. Használja az újracsatlakozási parancsot a hibában, és próbálkozzon újra.

A winapp target snapshot sandbox --json használatával ellenőrizheti az asztali környezet készenléti állapotát a Sandbox elindítása vagy az ahhoz való újbóli csatlakozás nélkül. A felismert terminálhibás ablakok nem számítanak távoli asztalnak. Ha a winapp nem tudja ellenőrizni a kijelölt asztalt, mert az még csatlakozik, vagy nem ellenőrizhető, a készenléti állapot nem érhető el; várjon, majd próbálja újra. Több távoli asztal továbbra is kétértelmű lehet. A Pillanatkép nem zárja be az ablakokat, és nem hárítja el helyetted a hozzájuk tartozó hibákat.

A felhasználói felület automatizálását a választók, a bemeneti módszerek és az állítások esetében lásd.

Felhasználói felületi munkafolyamatok koordinálása a tesztkörnyezetben

Használjon egyet WINAPP_UI_WORKFLOW_ID az együttműködő parancsokhoz, és egy másik értéket minden független munkafolyamathoz. Állítsa be minden egyes meghíváskor, különösen akkor, ha az ügynök minden egyes eszközhívásnál új parancsértelmezőt indít. a winapp egy hash-elt, a Sandbox-generációra jellemző identitást továbbít; a gazdagép nyers értéke nem kerül elküldésre a vendégnek.

Például rögzítsen és lépjen kapcsolatba két terminálban ugyanazzal az értékkel. Válasszon egy új értéket minden új munkafolyamathoz.

1. terminál:

$env:WINAPP_UI_WORKFLOW_ID = 'myapp-checkout-01'
winapp ui record --on sandbox -a MyApp --duration-sec 20 --frames -o .\checkout.mp4

2. terminál, miközben a felvétel fut:

$env:WINAPP_UI_WORKFLOW_ID = 'myapp-checkout-01'
winapp ui invoke --on sandbox SubmitButton -a MyApp
$env:WINAPP_UI_WORKFLOW_ID = 'myapp-checkout-01'
winapp ui inspect --on sandbox -a MyApp

Ha a felvétel és a műveletek is befejeződtek:

$env:WINAPP_UI_WORKFLOW_ID = 'myapp-checkout-01'
winapp ui yield --on sandbox

Az elnevezett munkafolyamat az utolsó parancsa után négy másodpercig megtartja a felhasználói felület feletti vezérlést; yield azt azonnal átadja. Azonosító nélkül minden parancs a befejezéskor átadja a sorát. Ezért egy no-ID-s felvétel a teljes időtartamára blokkolja az asztal módosításával járó egyéb munkafolyamatokat. Az írásvédett ellenőrzés nem tűr halasztást. A gazdagép és a vendég felhasználói felületi körei elkülönülnek.

Szünet után vizsgálja meg újra, és nyissa meg újra a kívánt menüt vagy párbeszédpanelt: lehetséges, hogy egy másik munkafolyamat használta a vendégasztalt. A kooperatív végrehajtási körök nem szigetelik el egymástól az alkalmazásokat.

Képernyőképek és felvételek

Használja a ui rögzítést egy alkalmazás ablakának rögzítésére, vagy a target rögzítést a vendég operációs rendszer teljes natív asztalának rögzítésére, beleértve a rendszerhéjat és a telepítő párbeszédablakokat:

winapp ui record --on sandbox -a MyApp --duration-sec 10 --frames -o .\app.mp4
winapp target screenshot sandbox -o .\sandbox.png
winapp target record sandbox --duration-sec 20 --frames -o .\sandbox.mp4

A kimenetek a gazdagépre kerülnek, akkor is, ha elhagyja a -o elemet. A képernyőképek alapértelmezés szerint a screenshot.png használják; a felvételek a recording-<timestamp>-<guid>.mp4 használják. A felvételekhez --frames a JPEG-eket, manifest.json-t és <output-name>.frames-t tartalmazó frames.ndjson könyvtárat is átadja. Az eredményjelentés a gazdagép elérési útjait tartalmazza. A célfelvételek a vendégben futnak; a gazdafájlok a rögzítés befejezése és a kézbesítés befejezése után válnak elérhetővé.

target screenshot a vendég felhasználói felületének aktiválására vár, bármelyik ablak aktiválása nélkül. Nem tartalmazza a gazdagépoldali Sandbox ablakának címsorát és szegélyeit. A PNG nincs skálázva: a vendégképernyő origójával (0,0) a kép koordinátái közvetlenül használhatók olyan koordinátabemeneti műveletekkel, mint a ui drag vagy a ui touch --at, a --on sandbox használatával. Adja hozzá a jelentett origót a negatív origójú asztalhoz. A coordinates.sourceBounds és a coordinates.contentRect olvasásához használja a(z) --json elemet; mindkettő fizikai képpontokat és kizárólagos jobb és alsó széleket használ.

A célrögzítések ugyanazokat a mezőket jelentik a JSON-ban és a keretjegyzékben. Az MP4- és JPEG-képkockák ugyanazt a leképezést használják, beleértve a --max-edge méretezést és a kódoló oldali kitöltést. A képpont (x,y) leképezéséhez először vesse el a(z) contentRect-en kívüli pontokat, majd számítsa ki az egyes forráskoordinátákat a következőképpen: sourceStart + floor((pixel - contentStart + 0.5) * sourceSize / contentSize) A lefelé skálázás elveszíti a pontosságot; natív PNG-t használjon, amikor a pontos koordináták számítanak. A vendégasztal határainak módosítása leállítja a felvételt a(z) display_changed elemmel, és csak a módosítás előtti képkockákat őrzi meg, a képkockajegyzéket pedig részlegesként jelöli meg.

A rendszer alapértelmezés szerint elutasít egy meglévő MP4- vagy párosított .frames könyvtárat. Használjon új elérési utat, vagy adja meg a(z) --overwrite elemet, hogy lecserélje őket, miután az új felvétel befejeződik. A korábbi képkockacsomagok megmaradnak mint <output-name>.frames.previous-<id>, akkor is, ha a csere elhagyja a --frames elemet. A sikertelen rögzítés érintetlenül hagyja a régi felvételt.

Előnyben részesítse a pozitív --duration-sec szkripteket és ügynököket. Az npm uiRecord és targetRecord segédfüggvények használatához durationSec szükséges; a megszakítási jelük kényszerített megszakítást hajt végre, nem pedig szabályos leállítást. Tekintse meg ui record a támogatott értékeket. Ha nincs megadva CLI-időtartam, a rögzítés leállítási jelre vár.

A rögzítés indítása után a Ctrl+C billentyűkombinációval véglegesítheti és visszaküldheti a felvételt.stopReason: cancelled Az egyéb megszakítások megőrizhetik a hasznos videókat vagy képkockákat. Olvassa el a stopReason, partialOutput és recoveryHint elemeket, ha rendelkezésre állnak, és a jelzett bizonyítékútvonalakat használja a normál befejezés feltételezése helyett. Ha a teljes asztal rögzítése elérhetetlenné válik felvétel közben, a rögzítés capture_unavailable leáll, ahelyett hogy továbbra is egy nem elérhető asztalt rögzítene. Nem hozza előtérbe a Sandboxot egy képkocka megmentéséhez. A rögzítés sikertelen lehet, mielőtt bármilyen használható bizonyíték rendelkezésre áll.

Sikertelen vendégrögzítés esetén a helyreállított bizonyítékok egy egyedi <output>.partial-<id> könyvtárba kerülnek a gazdagépen. Ha a kézbesítés nem sikerül, a beérkezett fájlok a jelzett helyreállítási útvonalon maradnak, például: <output>.recovery-<id>, és a vendég eredeti fájljai is megmaradnak. Hagyja futni a tesztkörnyezetet, és kövesse a hibához tartozó helyreállítási műveletet, mielőtt újra megpróbálja vagy bezárja. A megőrzött részleges fájl nem feltétlenül játszható videó.

A képernyőképek és a videók bizalmas információkat tartalmazhatnak. A képkockákat tartalmazó könyvtárat ugyanolyan gondossággal kezelje, mint az MP4-et. A rögzítési beállításokkal és az eredménymezőkkel kapcsolatban lásd: ui record.

A Sandbox vizsgálata

winapp target snapshot sandbox
winapp target snapshot sandbox --json

Ez megjeleníti a készenléti állapotot, az aktuális telepítéseket és a vendég Windows-rendszereket virtuális gép létrehozása, az ügyfél újracsatlakoztatása vagy az ügynök javítása nélkül. Ha nincs futó Sandbox, ezt jelzi, majd sikeresen kilép. Első lépésként használja a következőt winapp run . --on sandbox --detach: .

A jelentés megkülönbözteti a vendég által támogatott adatokat az aktuális ügyfél által használhatótól; a kis méretű ügyfél akkor is megakadályozhatja a bemenetet vagy a rögzítést, ha a vendég mindkettőt támogatja. A felhasználói felület PID-jeihez a vendégablakok listáját használja, ne a telepítés nyomon követett indítófolyamatát. A JSON-mező workRoot (a Work root szöveges kimenetben látható) a relatív fájlátviteli útvonalak abszolút alapja, általában C:\WinApp\work. Ez elkülönül a(z) capabilities.managedRoot elemtől, amely általában C:\WinApp, és kimarad, ha a vendég nem jelenti a kezelt gyökerét. Ha több ügyfélablak megakadályozza az egyértelmű rögzítést, a hiba a jelöltek listáját jeleníti meg; az újrapróbálkozás előtt döntse el, hogy melyiket zárja be.

Parancsok futtatása és fájlok másolása

winapp target exec sandbox -- dotnet --info
$copy = winapp target push sandbox .\setup.ps1 Setup\setup.ps1 --json | ConvertFrom-Json
winapp target exec sandbox --cwd (Split-Path -Parent $copy.targetPath) -- powershell -ExecutionPolicy Bypass -File .\setup.ps1
winapp target pull sandbox Results .\results

Beállításhoz és diagnosztikához használható target exec . Vendégfelhasználóként fut, továbbítja a standard streameket, és visszaadja a parancs kilépési kódját. Ez nem egy teljes értékű interaktív terminál; a konzolalkalmazások átirányított csatornákat érzékelnek. --json winapp-hibákat formáz, nem pedig a gyermekparancs stdoutját.

A pull és push esetén a célútvonalak a target snapshot által jelentett workRoot-hez viszonyítottak. A rendszer elutasítja az abszolút, a gyökerező és az UNC-célútvonalakat. Egyetlen fájl pontosan a megadott célhelyen landolt; a címtár megőrzi annak struktúráját a cél alatt. A feltöltés után kiírt feloldott vendégelérési útvonal (JSON targetPath) alapján válassza ki a következő parancs --cwd értékét; egyetlen fájl esetén használja annak szülőmappáját. Ha a vendég nem jelenti a felügyelt gyökerét, a leküldés sikertelen lesz a másolás előtt; az alapértelmezett elérési út helyett kövesse a hiba frissítési útmutatóját.

Csak olyan beállítási szkripteket futtasson, amelyben megbízik. A példa azért használ folyamatszintű -ExecutionPolicy Bypass elemet, mert egy új Sandbox a Restricted szabályzata alapján általában elutasítja a szkripteket.

Az átvitelek kihagyják a változatlan fájlokat, és közzétételük előtt ellenőrzik a cserefájlokat. A rendszer nem követi a szimbolikus hivatkozásokat és a csomópontokat: az üzembe helyezés elutasítja őket, míg a címtármásolatok kihagyják a csatolt bejegyzéseket. A hivatkozáson keresztül közvetlenül elnevezett csatolt forrás vagy célútvonal elutasításra kerül. Másolja inkább a valódi fájlokat vagy könyvtárakat.

Alkalmazás eltávolítása és a tesztkörnyezet befejezése

winapp unregister --on sandbox --manifest .\Package.appxmanifest

Ha az aktuális könyvtárban van jegyzék, kihagyhatja a elemet --manifest. Ez csak a winapp által az aktuális tesztkörnyezetben regisztrált egyező fejlesztési csomagot távolítja el. A külsőleg telepített csomagok akkor is egyedül maradnak, ha identitása megegyezik. --force nem támogatott --on; nem tudja megkerülni a tulajdonjog-ellenőrzéseket. Ez jegyzékalapú csomagkarbantartás, nem pedig a csomagolatlan alkalmazások vagy .cs bemenetek regisztrációjának törlése.

A Sandbox továbbra is fut. Kezelje az élettartamát a Windows Sandbox saját parancssori felületével:

wsb list
wsb connect --id <id>
wsb stop --id <id>

A leállítás miatt a vendég és a rajta végzett munka elvész. Először mentse a szükséges bizonyítékokat, és szerezze be a felhasználó hozzájárulását, mielőtt leállítja az esetleg használt példányt. A későbbi WinApp-parancsok új tesztkörnyezetet hozhatnak létre; ezután újra felfedezheti az összes alkalmazáscélt.

Hibaelhárítás

Kövesse a hibaüzenet userAction utasítását; a nextCommand figyelmeztetés javaslat, nem pedig engedély arra, hogy automatikusan futtassa. Az automatizálás során tekintse át a strukturált error.code. Az infrastruktúra hibája miatt a rendszer 70 kóddal leállhat, de egy tetszőleges alkalmazás is visszaadhatja a 70 kódot; önmagában a számszerű kilépési kód nem különbözteti meg őket.

Az útválasztott felhasználói felületi műveletek által javasolt helyreállítási parancsok megtartják a(z) --on <target> elemet, így egy javaslat másolásakor ugyanaz a végrehajtási célpont marad meg.

Hiba vagy tünet Teendők
sandbox_unsupported Ellenőrizze Windows kiadás/verzió és belső vezérlőprogram virtualizálását
sandbox_setup_required Engedélyezze Windows tesztkörnyezetet a fenti utasítások alapján, majd indítsa újra, ha készen áll
sandbox_setup_requires_restart A Windows függőben lévő újraindítást jelez; mentse a munkáját, és indítsa újra, amikor készen áll rá, majd próbálkozzon újra
sandbox_setup_incomplete Nyissa meg a Windows rendszerkörnyezetét a Start menüből, fejezze be az ügyfél beállítását/frissítését, majd próbálja újra.
sandbox_unmanaged_instance, sandbox_target_ambiguous Vizsgálja meg a jelentett példányokat/ablakokat; ne állítsa le a nem kapcsolódó munkát a kétértelműség feloldásához
sandbox_input_not_ready, sandbox_no_interactive_session Állítsa vissza a meglévő ügyfelet, vagy csatlakozzon újra az utasítás szerint, majd próbálkozzon újra
sandbox_agent_incompatible Kövesse a verzióhibában foglalt utasításokat; ha a rendszer kéri, frissítse a telepített CLI-t a telepítéséhez használt módszerrel, majd csak beleegyezéssel zárja be, illetve próbálja újra
sandbox_agent_busy Várjon, amíg egy másik parancs befejeződik, majd próbálkozzon újra
\, \, \ Futtassa újra az alkalmazást, és fedezze fel újra a vendég PID-ket/windowsokat
sandbox_state_unavailable Győződjön meg arról, hogy a(z) %USERPROFILE%\.winapp\state írható, vagy ha a(z) WINAPP_TARGET_STATE_ROOT be van állítva, javítsa ki.
sandbox_deployment_dirty, sandbox_transfer_interrupted Az üzembe helyezés vagy az átvitel újrapróbálkozása
sandbox_runtime_provision_failed Az elnevezett függőség vagy a nem támogatott futtatókörnyezet konfigurációjának feloldása; lásd : Megosztott futtatókörnyezetek
sandbox_package_conflict, sandbox_provisioned_package_conflict Kövesse a csomagspecifikus műveletet; ne távolítsa el a nem kapcsolódó vagy beérkezett üzeneteket tartalmazó csomagokat
sandbox_artifact_failed Ellenőrizze a jelentett kimenetet és az ügyfél felkészültségét; a részleges bizonyítékok megőrzése
target_invalid, target_invalid_arguments Javítsa ki a hiba által megjelenített célt vagy beállításokat

winapp update A projekt SDK-függőségeit frissíti, nem a telepített parancssori felületet. Ez nem megoldás a gazdagép/vendég CLI-kompatibilitási problémára.

Célok megosztása a 28000-as build tesztkörnyezetében

A tesztelt 28000-es build Sandboxja nem tudja felsorolni a megosztási célpontokat. Tesztelje a többi alkalmazásfunkciót a sandboxban, de a Share forrástól a célig tartó folyamatait azon kívül validálja.

Lásd még