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.
Önemli
Windows Uygulaması Geliştirme CLI'si şu anda public preview sürümündedir. Özellikler ve komutlar son sürümden önce değişebilir. sorun oluşturarak geri bildiriminizi paylaşın.
Windows Uygulaması Geliştirme CLI'sı (winapp CLI), seçtiğiniz çerçeveyle Windows uygulamalar oluşturmaya yönelik bir komut satırı aracıdır. Bir terminalden, tercih ettiğiniz düzenleyiciden veya yapay zeka kodlama aracısından çalışır.
- WinUI uygulamaları: Visual Studio açmadan WinUI uygulamaları oluşturun, çalıştırın, hata ayıklayıp test edin ve paketleyin.
- Platformlar arası ve diğer çerçeveler: Çerçeveleri değiştirmeden mevcut Electron, Flutter, Tauri, Rust, .NET veya C++ uygulamanıza Windows özelliklerini getirin. winapp CLI, Windows Uygulama SDK'sı ve Windows SDK'sını ayarlar, uygulamanıza paket kimliği kazandırır; böylece bildirimler ve cihaz içi yapay zeka gibi API'leri çağırabilir ve onu Microsoft Store veya kendi dağıtımınız için MSIX olarak paketler.
winapp CLI'nin temel avantajları
Terminalden WinUI uygulamaları oluşturma ve çalıştırma
winapp new boş, NavigationView, TabView ve MVVM başlatıcıları dahil olmak üzere resmi şablonlardan bir WinUI uygulaması oluşturur.
winapp runprojeyi oluşturur, eşleşen Windows Uygulaması Runtime’ı yükler ve paketlenmiş veya paketlenmemiş olsun uygulamayı başlatır.
İlk WinUI uygulamanızı oluşturma
Paket kimliği ve kilitlenme tanılaması ile hata ayıklama
Bildirimleri, cihaz içi yapay zekayı ve kimlik gerektiren diğer API'leri test edebilmeniz için uygulamanızı paket kimliğiyle çalıştırın. Hata ayıklama iletilerini ve kilitlenme bilgi dökümlerini yakalamak için ekleyin --debug-output . WinUI kilitlenmeleri için winapp, sizi başarısız olan XAML olay işleyicisine işaret eden stowed exception'ları çözer.
Paket kimliğiyle hata ayıklama
YZ kodlama aracılarını gerçek WinUI koduna dayandırın
winapp find-uiWinUI 3 Galerisi ve Windows Community Toolkit'ten çalışan XAML ve C# döndürür.
winapp find-api projenizin başvurduğu Windows Çalışma Zamanı API'lerini inceler. Aracılar bunları tahmin etmek yerine gerçek örneklerden ve meta verilerden kod oluşturmak için kullanır.
winapp CLI'yi AI ajanlarla kullanın
Uygulamanızın kullanıcı arabirimini otomatikleştirin ve test edin
winapp uiUI Otomasyonu aracılığıyla çalışan uygulamaları inceleyip bunlarla etkileşim kurar ve ekran görüntülerini ve kayıtları yakalar. Uygulamanızı temiz bir ortamda test etmek için Windows Korumalı Alanı'nda çalıştırın.
UI otomasyonu
Paketle, imzala ve gönder
winapp pack projenizi oluşturur, MSIX olarak paketler ve bir adımda imzalar. Yerel olarak geliştirme sertifikaları oluşturun, Azure Güvenilen İmzalama ile yayın derlemelerini imzalayın ve winapp CLI'yi GitHub Actions veya Azure DevOps çalıştırıcılara yükleyin.
Uygulamanızı paketleyin
Windows özelliklerini herhangi bir çerçeveye getirin
derleme sisteminizi değiştirmeden Windows SDK, Windows Uygulama SDK'sı, paket kimliği ve MSIX paketlemesini .NET, C++, Electron, Flutter, Rust veya Tauri ile oluşturulan uygulamalara ekleyin.
Desteklenen framework'lere bakın
WinUI kullanmaya başlama
winapp CLI ve .NET SDK'sını yükledikten sonra bir WinUI uygulaması oluşturun ve çalıştırın:
winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run
Bir paketi yerel olarak test etmeye hazır olduğunuzda, bir geliştirme sertifikası oluşturun ve imzalı bir MSIX paketi oluşturun:
winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx
Geliştirme sertifikası varsayılan bir parola kullanır ve yalnızca yerel test içindir. Uygulamanızı dağıtmadan önce, örneğin winapp az-sign ile güvenilir bir sertifikayla imzalayın. Daha fazla bilgi için bkz . Güvenlik.
Kurulumu ve ilk kullanıcı arabirimi değişikliğinizi içeren adım adım izlenecek yol için bkz. İlk WinUI uygulamanızı oluşturma. Kullanılabilir tüm şablonları görmek için winapp new --list komutunu çalıştırın. Hata ayıklama, UI otomasyonu ve paketleme dahil olmak üzere iş akışının tamamı için bkz. WinUI ile winapp CLI kullanma.
Kurulum
WinGet
CLI'yi yüklemenin en kolay yolu WinGet (Windows Paket Yöneticisi):
winget install Microsoft.winappcli --source winget
Bunun yerine WinGet PowerShell modülünü kullanıyorsanız Install-WinGetPackage Microsoft.winappcli komutunu çalıştırın.
NPM
Electron projeleri için NPM aracılığıyla yükleyin:
npm install @microsoft/winappcli --save-dev
GitHub Actions / Azure DevOps
CI/CD süreçleri için setup-WinAppCli komutunu kullanarak CLI'yı ajanlarınıza otomatik olarak yükleyin.
El ile indirme
en son derlemeyi GitHub Releases adresinden indirin.
Yüklemeyi doğrulama
Yüklendikten sonra CLI'yı çağırarak yüklemeyi doğrulayın:
winapp --help
Veya Electron/Node.jskullanıyorsanız:
npx winapp --help
AI ajanlarıyla winapp CLI’ı kullanın
winapp CLI, yapay zeka kodlama aracılarıyla iyi çalışacak şekilde tasarlanmıştır.
find-ui ve find-api gibi komutlar, --json ile makine tarafından okunabilir bir çıkış döndürerek bir ajanın kod yazmadan önce gerçek WinUI örneklerini ve Windows Çalışma Zamanı API'lerini aramasını sağlar.
Aracınıza winapp CLI iş akışı için beceriler kazandırmak için winapp eklentisini yükleyin:
# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli
# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli
Visual Studio Code'da çalışıyorsanız, WinApp VS Code uzantısı düzenleyiciden winapp CLI komutlarını çalıştırır ve F5 tuşuna bastığınızda uygulamanızı paket kimliğiyle başlatır. Visual Studio Marketplace'ten yükleyin.
Desteklenen çerçeveler
winapp CLI, WinUI ve diğer uygulama çerçeveleriyle çalışır:
| Çerçeve | Guide |
|---|---|
| WinUI | WinUI kullanmaya başlama |
| .NET / WPF / WinForms | |
| .NET MAUI | .NET MAUI kullanmaya başlama |
| C++ (CMake) | C++ ile başlamaya başla |
| Elektron | Electron ile çalışmaya başlayın |
| Rust | Rust ile Başlangıç Yap |
| Tauri | Tauri ile Başlayın |
| Flutter | Flutter ile Başlarken |
Ek kılavuzlar:
- EXE/CLI paketleme: Mevcut bir EXE/CLI'yi MSIX olarak paketlemeye yönelik adım adım kılavuz
- Seyrek paketleme: paketlenmemiş bir uygulamaya, yalnızca kimlik içeren (seyrek) bir MSIX ve dış içerik ile paket kimliği verin
- Kabuk Tamamlama: PowerShell, bash, zsh ve fish'teki komutlar, seçenekler ve değerler için sekme tamamlamayı etkinleştirin
-
Güvenlik kılavuzu: geliştirme sertifikalarının ve Geliştirici Modu'nun makinenizde neleri değiştirdiği,
devcert.pfxnasıl ele alınacağı ve üretim için nasıl imzalama yapılacağı
Komutlara genel bakış
| Kategori | Commands |
|---|---|
| Oluştur ve ayarla | new, init, restore, update |
| Çalıştır ve hata ayıkla | run, create-debug-identity, embed-identity, unregister |
| Paketleme | paketlemek |
| Manifesto | manifest generate, manifest update-assets, manifest add-alias |
| Sertifikalar ve İmzalama | cert generate, cert install, sign, az-sign, create-external-catalog |
| Ajanlar için kod araması | find-ui, find-api |
| UI otomasyonu ve Sandbox | ui, target |
| Yardımcı Programlar | araç, mağaza, get-winapp-path, tamamla |
| Node.js/Electron | node create-addon, node generate-bindings, node add-electron-debug-identity, node clear-electron-debug-identity |
Tam CLI başvurusu için bkz. CLI başvurusu.
Samples
GitHub üzerindeki samples klasöründe desteklenen her çerçeve için çalıştırılabilir bir proje vardır:
| Sample | Description |
|---|---|
| WinUI uygulaması |
winapp run ile kaydedilen ve başlatılan paketlenmiş WinUI uygulaması |
| WinUI paketlenmemiş uygulaması |
winapp run ile başlatılan paketlenmemiş WinUI uygulaması |
| WinUI çözümü |
winapp run öğesinin uygulama projesini nasıl seçtiğini gösteren çok projeli çözüm (uygulama ve test projesi) |
| C++ WinUI uygulaması | XAML veya MSBuild olmadan CMake ile C++ ile oluşturulan WinUI penceresi |
| WPF uygulaması | WPF masaüstü uygulaması |
| .NET MAUI uygulaması | winapp CLI ile paketlenmiş ve imzalanmış .NET MAUI Windows projesi |
| C++ uygulaması | CMake ile oluşturulan yerel C++ Win32 uygulaması |
| Elektron | manifest, varlıklar ve yerel C++ ve C# eklentileri içeren Electron Forge uygulaması |
| Rust uygulaması | Windows API'lerini çağıran Rust uygulaması |
| Tauri uygulaması | Rust arka ucu olan Tauri uygulaması |
| Flutter uygulaması | Paket kimliği ve Windows Uygulama SDK'sı ile flutter masaüstü uygulaması |
| Minimal uygulama | seyrek paketleme modeli (yalnızca kimlik MSIX) ve yükleyici içeren WPF uygulaması |
Neden paket kimliği?
Birçok Windows API'sinde uygulamanızın paket kimliği olması gerekir. Kimlik sayesinde uygulamanız bildirimler, işletim sistemi tümleştirmesi ve cihaz içi yapay zeka gibi özelliklere access kazanır. WinUI uygulama şablonları bir paket bildirimi içerir, bu nedenle winapp run varsayılan olarak onlara kimlik verir. Paket kimliğinin kilidini açan özelliklerin tam listesi ve doğru paketleme modelini seçmeye yardımcı olmak için bkz . Paketlemeye genel bakış.
Açık kaynak
winapp CLI açık kaynak. Kaynak kodu, dosya sorunlarını bulabilir ve GitHub üzerinde katkıda bulunabilirsiniz. Yardım için bkz. Destek.
İlgili konular
Windows developer