Windows Uygulaması Geliştirme CLI'sı (winapp CLI)

Ö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ı

Mavi piksel dalgasının üzerinde yükseltilmiş bir kutucukta komut istemi simgesi

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

Mavi piksellerden oluşan çapraz bant üzerinde yükseltilmiş bir kutucukta hata simgesi

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

Mavi piksel dalgası üzerinde yükseltilmiş bir karoda parıltı simgesi bulunan sohbet balonu

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

Mavi piksellerden oluşan çapraz bant üzerinde yükseltilmiş bir kutucukta işaretçi ve dokunma simgesi

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

Mavi piksel dalgasının üzerinde yükseltilmiş kutucukta paket simgesi

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

Mavi piksellerden oluşan çapraz bir bant üzerinde yükseltilmiş bir kutucukta bulmaca parçası simgesi

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
.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.pfx nası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.