Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulamayı makinenizde derleyin, ardından Windows Korumalı Alanı'nda çalıştırın ve otomatikleştirin:
winapp run . --on sandbox --detach
winapp ui inspect --on sandbox -a MyApp
winapp ui invoke --on sandbox SubmitButton -a MyApp
run öğesini, uygulama adınızla veya MyApp tarafından yazdırılan konuk PID’siyle değiştirin.
--detach, başlatıldıktan sonra geri döner; böylece sonraki komut uygulamayı inceleyebilir. Bu olmadan, run uygulamanın kapanmasını bekler. Sandbox, komutlar ve yeniden derlemeler arasında çalışmaya devam eder.
Başlamadan önce
- Donanım sanallaştırma etkinleştirilmiş olarak desteklenen bir sürümde Windows 11 24H2 veya üzerini kullanın.
- Konuk winapp, x64 ve Arm64'i destekler. x86 uygulaması çalıştırmak ve x86 bağımlılıklarıyla eşleştirmek için konuk desteği gerektirir; x64 çalışma zamanı bir x86 uygulamasını karşılamaz.
- Gerçek giriş ve ekran yakalama için konak oturumunun kilidini açık tutun.
Windows özelliklerini açma veya kapatma bölümünde Windows Korumalı Alanı etkinleştirin veya bunu bir yönetici terminalinden çalıştırın:
dism.exe /Online /Enable-Feature /FeatureName:Containers-DisposableClientVM /All /NoRestart
Çalışmanızı kaydedin ve hazır olduğunuzda Windows yeniden başlatın. Ardından Başlat menüsünden Windows Korumalı Alanı'nı açın ve tüm istemci yüklemelerini veya güncelleştirmelerini tamamlayın. winapp özelliği etkinleştirmez, istemciyi yüklemez, yükseltme isteğinde bulunur veya Windows yeniden başlatır. Önkoşullar eksikse işlem kurulum yönergelerini göstererek durur; tespit edilen bekleyen Windows yeniden başlatma durumu ayrıca raporlanır.
Soğuk bağlantı veya yeniden bağlantı kısaca odaklanabilir. Bağlandıktan sonra winapp, etkinleştirmeden kendi istemci penceresini ekran dışında tutar. Kendi açtığınız korumalı alan penceresi olduğu gibi bırakılır.
Important
Derleme işlemleri bilgisayarınızda çalışmaya devam eder. Proje değerlendirme, geri yükleme ve derleme işlemleri birbirinden bağımsız değildir.
--on sandbox güvenilmeyen bir projenin oluşturulmasını güvenli hale getirmez.
Korumalı Alan, paylaşılan bir ortamdır. İçindeki uygulamalar ve iş akışları kullanıcı, masaüstü, kayıt defteri, paketler, çalışma zamanları ve ağ erişimini paylaşır. Birbirlerini gözlemleyebilir veya müdahale edebilir. Karşılıklı güvenilmeyen iş akışları için ayrı makineler kullanın.
Windows, aynı anda yalnızca bir Korumalı Alanın çalıştırılmasına izin verir. winapp, kendi açtığınız örnek de dahil olmak üzere çalışan bir örneği yeniden kullanıyor. Bunu hazırlamak, winapp’in paylaşılan önyükleme klasörlerini, konuk aracısını, Geliştirici Modu’nu ve gelen trafik için bir güvenlik duvarı kuralını ekler. winapp, benimsenen bir örneği durdurmaz veya ilgisiz uygulamaları kaldırmaz. Sessiz ana bilgisayar geri dönüşü yoktur: Sandbox isteyen bir komut orada çalıştırılır ya da başarısız olur.
Çalıştırma ve yeniden oluşturma
winapp run .\MyApp.csproj --on sandbox --detach --json
winapp run .\publish --on sandbox --detach
winapp run . --on sandbox --clean --detach
--arch, --framework, --property, --no-build, --no-restore ve --configuration gibi derleme seçenekleri ana bilgisayarda uygulanır. Konukta kayıt, başlatma ve hata ayıklama gerçekleşir; uygulama makinenizde kayıtlı değil.
| Seçenek | Korumalı Alanda Etkisi |
|---|---|
--detach |
Çıkış için beklemek yerine başlatmadan sonra geri dön |
--no-launch |
Başlatmadan dağıt ve kaydet |
--clean |
Bu dağıtımı yeniden yükleyin ve uygulama verilerini temizleyin |
--unregister-on-exit |
Uygulama çıktıktan sonra bu paket kaydını kaldırın |
--with-alias |
Yönlendirilmiş akışlarla konuk yürütme takma adını başlatın |
--debug-output |
Konuk hata ayıklama çıktısını aktar; yalnızca paketlenmiş uygulamalar |
Paketlenmemiş uygulamalar, yürütülebilir dosyalarını dağıtım klasöründen çalıştırır. Kaydedilecek bir paketi yok.
--debug-output, paketlenmemiş Korumalı Alan çalıştırmaları için kabul edilmez.
Yeniden çalıştırma, değiştirilen dosyaları aktarır ve derleme çıkışından silinen dosyaları kaldırır.
Uygulama verileri, siz --clean talep etmediğiniz sürece korunur. Tamamlanmamış bir dağıtım işlemi başlatılamaz; yeniden denendiğinde konuk kopyasını yeniden oluşturur. Winapp bunları hazırlarken derleme dosyaları değişirse derlemeyi tamamlayın ve yeniden deneyin.
Sıcak kullanıcı arabirimi komutları, korumalı alan hazırlama iletisini yinelemeden yalnızca bunların sonucunu bildirir. Korumalı alan başlatma ve bağlantı kurtarma hâlâ ilerleme bildirmeye devam ediyor. Bağlantı zamanlamaları ve tanılama ayrıntıları için kullanın --verbose ve --quiet--json ilerleme durumunu gizleyin.
JSON çalıştırmaları bir konuk işlem kimliği ve hedef kapsamı içerir:
{
"ProcessId": 4212,
"Sandbox": true,
"ProcessScope": "sandbox",
"UiTargetArgs": "--on sandbox -a 4212",
"ExecutionTarget": {
"Kind": "sandbox",
"Id": "default",
"Architecture": "arm64",
"Epoch": "..."
}
}
Bunlar, ayrı bir belge değil, çalıştırma sonucunda yer alan ek alanlardır. Uygulamayı incelerken değerin tamamını UiTargetArgs kopyalayın: winapp ui inspect --on sandbox -a 4212.
Korumalı Alan yeniden oluşturulduktan sonra PID'leri ve pencere tanıtıcılarını yeniden bulun; bunlar ana makineye veya gelecekteki bir konuğa değil, o Korumalı Alan nesline aittir.
Bağımsız uygulamalar ve aracının yaşam döngüsü
Ayrılmış paketlenmemiş bir uygulama, aracı onarımı sırasında da dahil olmak üzere konuk aracısı durdurulursa sona erer.
Komutlar arasında kaybolursa, --detach ile yeniden çalıştırın ve UI hedefini yeniden algılayın.
Uygulamanın bağlantısını kesmek yerine onu beklemek, uygulamanın çıkışını gözlemlemenizi sağlar; ancak uygulamanın aracısının kaybolmasından sonra çalışmayı sürdürmesini sağlamaz. Paketlenmiş uygulamalar, aracının işlem ömrü yerine Windows etkinleştirmesini kullanır. Korumalı Alanı kapatmak veya yeniden başlatmak, Korumalı Alanın içindeki tüm uygulamaları sonlandırır.
Paylaşılan çalışma zamanları
winapp, uygulamanın paket bağımlılıklarını, Windows Uygulama SDK'sı gereksinimlerini ve *.runtimeconfig.json başlatmadan önce denetler. Ana bilgisayar önbelleklerini kullanır veya gerekli paketleri indirir, ardından eksik olan desteklenen çalışma zamanlarını makinenize değil, konukta yükler.
Paket gereksinimleri yayımcı, sürüm ve mimaridir. Paylaşılan .NET çalışma zamanı seçimi, uygulamanın yapılandırılmış ileri sarma ilkesini ve mimarisini kabul eder; aynı ana sürümde daha yeni bir çalışma zamanının çalışacağını varsaymayın.
Bir çerçeve, çalışma zamanı yapılandırması veya bağımlılık desteklenemiyorsa, başlatmadan önce komut açıkça başarısız olur ve gereksinimi tanımlar. Bu hatanın eylemini izleyin. Projeniz tarafından desteklendiği durumlarda, bağımsız yayımlama ilgili paylaşılan çalışma zamanı gereksinimini ortadan kaldırır; ilişkisiz paket bağımlılıklarını kaldırmaz.
Kullanıcı arabirimini otomatikleştirme
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
Her ui fiil, --on sandbox kabul eder. Uygulama adları, PID'ler, pencere tanıtıcıları ve seçiciler konuk içinde çözümlenir. Uygulamayı hedefleyen komutlar için -w/--window veya -a/--app kullanın; winapp en son başlatılan uygulamayı tahmin etmez.
--on sandbox belirtilmezse, bunun yerine ana makinenizin masaüstü seçilir.
Gerçek girdi ve kayıt için bağlı, simge durumuna küçültülmemiş bir Sandbox istemcisi gerekir. Giriş mümkün olmadığında salt okunur denetim yine de çalışabilir. winapp, kendi küçültülmüş istemcisini etkinleştirmeden geri yükleyebilir; manuel olarak açılan küçültülmüş bir istemciyi sizin geri yüklemeniz gerekir. Yeniden bağlandıktan sonra girdi kullanılamıyorsa, komut girdi sağladığını iddia etmek yerine başarısız olur. Hatada yeniden bağlan komutunu kullanın ve yeniden deneyin.
Korumalı Alanı başlatmadan veya yeniden bağlanmadan masaüstünün hazır olup olmadığını denetlemek için winapp target snapshot sandbox --json kullanın. Tanınan terminal hata pencereleri, uzak masaüstü olarak sayılmaz. Winapp hala bağlandığı veya incelenemediği için seçili masaüstünü doğrulayamıyorsa, hazır olma durumu kullanılamaz durumda kalır; bekleyin ve yeniden deneyin. Birden çok uzak masaüstü hâlâ belirsiz olabilir. Anlık görüntü pencereleri kapatmaz veya hatalarını sizin için düzeltmez.
Seçiciler, giriş yöntemleri ve doğrulamalar için UI otomasyonu bölümüne bakın.
Sandbox'ta UI iş akışlarını koordine etmek
WINAPP_UI_WORKFLOW_ID Komutları işbirliği için kullanın ve her bağımsız iş akışı için farklı bir değer kullanın. Bunu her çağrıda ayarlayın; özellikle de ajanınız her araç çağrısı için yeni bir kabuk başlatıyorsa. winapp, Sandbox oluşturumuna özgü karmalanmış bir kimliği iletir; ham ana bilgisayar değeri konuğa gönderilmez.
Örneğin, aynı değeri kullanarak iki terminalde kaydedin ve etkileşim kurun. Her yeni iş akışı için yeni bir değer seçin.
Terminal 1:
$env:WINAPP_UI_WORKFLOW_ID = 'myapp-checkout-01'
winapp ui record --on sandbox -a MyApp --duration-sec 20 --frames -o .\checkout.mp4
Terminal 2, kayıt sürerken:
$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
Hem kayıt hem de eylemler tamamlandıktan sonra:
$env:WINAPP_UI_WORKFLOW_ID = 'myapp-checkout-01'
winapp ui yield --on sandbox
Adlandırılmış bir iş akışı, son komutundan sonra kullanıcı arabirimi dönüşünü dört saniye boyunca korur; yield hemen serbest bırakır. ID olmadan, her komut tamamlandığında sırasını serbest bırakır.
Bu nedenle no-ID kaydı, süresi boyunca masaüstünde değişen diğer iş akışlarını engeller.
Salt okunur inceleme beklemez. Ana bilgisayar ve konuk kullanıcı arayüzü sıraları ayrıdır.
Bir duraklatma işleminden sonra yeniden inceleyin ve ihtiyacınız olan menü veya iletişim kutularını yeniden açın: Başka bir iş akışı konuk masaüstünü kullanmış olabilir. İşbirliğine dayalı dönüşler, uygulamaları birbirinden yalıtmaz.
Ekran görüntüleri ve kayıtlar
Bir uygulamanın penceresi için target yakalamayı veya kabuk ve yükleyici iletişim kutuları da dahil olmak üzere ui için yakalamayı kullanın:
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
Çıktılar, öğesini atladsanız bile -o gider. Ekran görüntüleri varsayılan olarak screenshot.pngkullanılır; kayıtlar kullanır recording-<timestamp>-<guid>.mp4.
Kayıtlar için, --frames ayrıca JPEG'leri, manifest.json ve <output-name>.frames içeren frames.ndjson dizinini de sağlar. Sonuçlar, konak yollarını bildirir. Hedefteki kayıtlar konuk sistemde çalışır; ana makinedeki dosyaları, kayıt ve teslim işlemi tamamlandıktan sonra kullanılabilir hâle gelir.
target screenshot, herhangi bir pencereyi etkinleştirmeden konuğun kullanıcı arayüzü sırasını bekler.
Ana Korumalı Alan penceresinin başlık çubuğunu ve kenarlıklarını hariç tutar. PNG’si ölçeklenmemiştir: konuk ekranının orijini (0,0) olduğunda, görüntü koordinatları ui drag ile birlikte ui touch --at veya --on sandbox gibi koordinat girişi komutları tarafından doğrudan kullanılabilir.
Negatif çıkış noktası olan bir masaüstü için bildirilen kaynağı ekleyin.
coordinates.contentRect ve --json öğelerini okumak için coordinates.sourceBounds kullanın; her ikisi de fiziksel pikselleri kullanır ve sağ/alt kenarları hariç tutar.
Hedef kayıtlar, JSON'da ve çerçeve bildiriminde aynı alanları bildirir. MP4 ve JPEG çerçeveleri, ölçeklendirme ve kodlayıcı doldurma dahil olmak üzere --max-edge eşlemeyi paylaşır. Görüntü pikseli (x,y) eşlemek için önce contentRect dışındaki noktaları eleyin, ardından her bir kaynak koordinatını sourceStart + floor((pixel - contentStart + 0.5) * sourceSize / contentSize) olarak hesaplayın.
Downscaling duyarlık kaybeder; tam koordinatlar önemli olduğunda yerel bir PNG kullanın. Konuk masaüstünün sınırlarındaki bir değişiklik, kaydı display_changed durdurur; yalnızca değişiklikten önceki kareleri korur ve kare manifestini kısmi olarak işaretler.
Mevcut bir MP4 veya eşleştirilmiş .frames dizin varsayılan olarak reddedilir. Yeni bir yol kullanın veya yeni kayıt tamamlandıktan sonra bunları değiştirmek için --overwrite öğesini iletin. Önceki çerçeve paketleri, ikame işleminde <output-name>.frames.previous-<id> atlandığında bile --frames olarak korunur. Başarısız bir kayıt işleminde eski kayıt değişmeden kalır.
Betikler ve aracılar için --duration-sec pozitif olanı tercih edin.
uiRecord ve targetRecord npm yardımcıları durationSec gerektirir; iptal sinyali, kontrollü bir durdurma yerine işlemi zorla sonlandırır. Desteklenen değerler için bkz ui record .
CLI’da bir süre belirtilmezse, kayıt durdurma sinyalini bekler.
Yakalama başladıktan sonra Ctrl+C tuşları ile stopReason: cancelledkaydı başarıyla sonlandırabilir ve döndürebilir. Diğer kesintiler yararlı video veya kareleri koruyabilir.
partialOutput, recoveryHint ve varsa stopReason öğelerini okuyun ve normal şekilde tamamlandığını varsaymak yerine bildirilen kanıt yollarını kullanın. Tüm masaüstü yakalama, bir kayıt sırasında kullanılamaz hâle gelirse, kullanılamayan bir masaüstünü yakalamaya devam etmek yerine capture_unavailable ile durur. Bir çerçeveyi kurtarmak için Sandbox'ı ön plana getirmez. Kullanılabilir herhangi bir kanıt mevcut olmadan yakalama başarısız olabilir.
Başarısız olan bir konuk kaydı için kurtarılan veriler, ana makinede benzersiz bir <output>.partial-<id> dizinine yerleştirilir. Teslim işlemi başarısız olursa, alınan dosyalar <output>.recovery-<id> gibi bildirilen kurtarma yolunda kalır ve konuktaki özgün dosyalar korunur. Sandbox'ı çalışır durumda tutun ve yeniden denemeden veya kapatmadan önce hata için önerilen kurtarma eylemini uygulayın. Korunan kısmi dosya oynatılabilir bir video olmayabilir.
Ekran görüntüleri ve video hassas bilgiler içerebilir. Frame dizinine de MP4 dosyasıyla aynı özeni gösterin. Kayıt seçenekleri ve sonuç alanları için bkz ui record .
Korumalı Alanın İncelenmesi
winapp target snapshot sandbox
winapp target snapshot sandbox --json
Bu, hazır olma durumunu, geçerli dağıtımları ve konuk pencerelerini VM oluşturmadan, istemciyi yeniden bağlamadan veya aracıyı onarmadan bildirir. Hiçbir Sandbox çalışmıyorsa, bu durumu bildirir ve başarıyla çıkar. Birini başlatmak için kullanın winapp run . --on sandbox --detach.
Rapor, konuk sistemin neleri desteklediğini mevcut istemcinin neler yapabildiğinden ayırır; simge durumuna küçültülmüş bir istemci, konuk sistem her ikisini de desteklese bile girişi engelleyebilir veya girdiyi yakalamayı önleyebilir.
Arayüz PID'leri için, dağıtım tarafından izlenen başlatıcı işlemi değil, konuk pencere listesini kullanın.
JSON workRoot alanı (metin çıkışında gösterildiği gibi Work root ), normalde C:\WinApp\workgöreli dosya aktarım yollarının mutlak tabanıdır.
capabilities.managedRoot’dan ayrıdır, normalde C:\WinApp’dir ve konuk yönetilen kökünü bildirmediğinde atlanır.
Birkaç istemci penceresi yakalamanın net olarak yapılmasını engelliyorsa, hata iletisinde olası adaylar listelenir; yeniden denemeden önce hangisini kapatacağınıza karar verin.
Komutları çalıştırma ve dosyaları kopyalama
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
Kurulum ve tanılama için kullanın target exec . Konuk kullanıcı olarak çalışır, standart akışları iletir ve komutun çıkış kodunu döndürür. Bu, tam etkileşimli bir terminal değildir; konsol uygulamaları yeniden yönlendirilmiş borular görür.
--json alt komutun stdout'unu değil winapp hatalarını biçimlendiriyor.
pull ve push için, hedef yolları, workRoot tarafından bildirilen target snapshot öğesine görelidir. Mutlak, kök ve UNC hedef yolları reddedilir. Tek bir dosya tam olarak adlandırdığınız hedefe iner; dizin, bu hedefin altındaki yapısını korur. Sonraki komutun targetPath değerini seçmek için push işleminden sonra yazdırılan çözümlenmiş konuk yolunu (JSON --cwd) kullanın; tek bir dosya için bunun üst dizinini kullanın. Konuk sistem yönetilen kök dizinini bildirmezse, gönderme işlemi kopyalamadan önce başarısız olur; varsayılan bir yol olduğunu varsaymak yerine hata iletisindeki güncelleme yönergelerini izleyin.
Yalnızca güvendiğiniz kurulum betiklerini çalıştırın. Örnek, yeni bir korumalı alanın -ExecutionPolicy Bypass ilkesi kapsamında betikleri normalde reddetmesi nedeniyle işlem kapsamlı Restricted kullanır.
Aktarımlar, değişmeyen dosyaları atlar ve bunları yayımlamadan önce değişiklikleri doğrular. Sembolik bağlantılar ve birleşimler izlenmez: dağıtım bunları reddederken, dizin kopyaları bağlantılı girişleri atlar. Doğrudan adlandırılan bir bağlantılı kaynak veya bağlantı aracılığıyla belirtilen bir hedef yol reddedildi. Bunun yerine gerçek dosyaları veya dizinleri kopyalayın.
Uygulamayı kaldırma ve Korumalı Alan'ı sonlandırma
winapp unregister --on sandbox --manifest .\Package.appxmanifest
Geçerli dizinde bir bildirim dosyası varsa, --manifest öğesini atlayabilirsiniz. Bu, yalnızca geçerli Sandbox'ta winapp’in kaydettiği eşleşen geliştirme paketini kaldırır.
Dışarıdan yüklenen bir paket, kimliği eşleşse bile tek başına bırakılır.
--force ile --ondesteklenmez; sahiplik denetimlerini atlayamaz.
Bu bildirim tabanlı paket temizleme işlemidir; paketlenmemiş uygulamalar veya .cs girişler için kayıt silme komutu değildir.
Sandbox çalışmaya devam ediyor. Windows Korumalı Alanın kendi CLI'sı ile ömrünü yönetin:
wsb list
wsb connect --id <id>
wsb stop --id <id>
Durdurmak, konuğu ve üzerindeki çalışmaları kaybetmenize neden olur. Önce gerekli kanıtları kaydedin ve kullanabilecekleri bir örneği durdurmadan önce kullanıcının onayını alın. Sonraki winapp komutları yeni bir Sandbox oluşturabilir; ardından tüm uygulama hedeflerini yeniden keşfedin.
Sorun giderme
Hatanın userAction ögesini takip edin; bir öneri nextCommand, bir tavsiyedir, bunun otomatik olarak çalıştırılması için izin değildir. Otomasyonda yapılandırılmış error.code öğesini inceleyin.
Altyapı hataları 70 ile sonuçlanabilir, ancak herhangi bir uygulama da 70 döndürebilir; sayısal çıkış durumu tek başına bunları ayırt etmeye yetmez.
Yönlendirilmiş UI işlemlerinin önerdiği kurtarma komutları --on <target> öğesini korur; böylece bir öneri kopyalandığında aynı yürütme hedefinde kalır.
| Hata veya belirti | Yapılması gerekenler |
|---|---|
sandbox_unsupported |
Windows sürümünü/versiyonunu ve bellenim sanallaştırmasını denetleyin |
sandbox_setup_required |
Yukarıdaki yönergeleri kullanarak Windows Korumalı Alanı'nı etkinleştirin ve hazır olduğunuzda yeniden başlatın |
sandbox_setup_requires_restart |
Windows bekleyen bir yeniden başlatma bildirir; hazır olduğunda çalışmayı kaydedin ve yeniden başlatın, sonra yeniden deneyin |
sandbox_setup_incomplete |
Başlangıç ekranından Windows Korumalı Alanı açın ve istemci kurulumunu/güncelleştirmesini tamamlayın, ardından yeniden deneyin |
sandbox_unmanaged_instance, sandbox_target_ambiguous |
Bildirilen örnekleri/pencereleri inceleyin; belirsizliği çözmek için ilgisiz çalışmayı durdurma |
sandbox_input_not_ready, sandbox_no_interactive_session |
Mevcut istemciyi geri yükleyin veya yönlendirildi olarak yeniden bağlanın, ardından yeniden deneyin |
sandbox_agent_incompatible |
Sürüm hatasını izleyin; istenirse yükleme yöntemini kullanarak yüklü CLI'yi yükseltin, ardından yalnızca onay ile kapatın/yeniden deneyin |
sandbox_agent_busy |
Başka bir komutun tamamlanmasını bekleyin ve yeniden deneyin |
sandbox_terminated, sandbox_target_stale, sandbox_stale_handle |
Uygulamayı yeniden çalıştırma ve konuk PID'leri/windows'ları yeniden bulma |
sandbox_state_unavailable |
WINAPP_TARGET_STATE_ROOT öğesinin yazılabilir olduğundan emin olun veya ayarlanmışsa %USERPROFILE%\.winapp\state öğesini düzeltin |
sandbox_deployment_dirty, sandbox_transfer_interrupted |
Dağıtımı veya aktarımı yeniden deneyin |
sandbox_runtime_provision_failed |
Adlandırılmış bağımlılığı veya desteklenmeyen çalışma zamanı yapılandırmasını çözün; bkz . Paylaşılan çalışma zamanları |
sandbox_package_conflict, sandbox_provisioned_package_conflict |
Pakete özgü eylemi izleyin; ilişkisiz veya gelen kutusu paketlerini kaldırma |
sandbox_artifact_failed |
Raporlanan çıktıyı ve istemci hazırlığını denetleyin; mevcut kısmi kanıtları koruyun |
target_invalid, target_invalid_arguments |
Hatada gösterilen hedefi veya seçenekleri düzeltme |
winapp update yüklü CLI'yı değil proje SDK bağımlılıklarını güncelleştirir. Ana/misafir CLI uyumsuzluğu için bir düzeltme değildir.
Derleme 28000 Korumalı Alanı'nda hedefleri paylaşma
Test edilen 28000 derlemeli Korumalı Alan, Paylaşım hedeflerini listeleyemez. Sandbox'taki diğer uygulama özelliklerini test edin, ancak Share kaynak-hedef akışlarını bunun dışında doğrulayın.
Ayrıca bakınız
Windows developer