Windows-alkalmazás fejlesztési parancssori felület (winapp CLI)

Fontos

A Windows-alkalmazás fejlesztési parancssori felület jelenleg közzétételi előzetes verzióban érhető el. A funkciók és a parancsok a végleges kiadás előtt változhatnak. Ossza meg visszajelzését probléma létrehozásával.

A Windows-alkalmazás fejlesztési parancssori felület (winapp CLI) egy parancssori eszköz, amellyel Windows alkalmazásokat fejleszthet a választott keretrendszerrel. Terminálból, az általad preferált szerkesztőből vagy egy AI-kódoló ügynökkel használható.

  • WinUI-alkalmazások:WinUI-alkalmazások létrehozása, futtatása, hibakeresése, tesztelése és csomagolása a Visual Studio megnyitása nélkül.
  • Platformfüggetlen és egyéb keretrendszerek: vigyen Windows-funkciókat a meglévő Electron, Flutter, Tauri, Rust, .NET vagy C++ alkalmazásába a keretrendszerek módosítása nélkül. A winapp CLI beállítja a Windows App SDK-t és a Windows SDK-t, csomagazonosítót ad az alkalmazásnak, így API-kat hívhat meg, például értesítésekhez és az eszközön futó AI-hoz, és MSIX-ként csomagolja a Microsoft Store-hoz vagy saját terjesztéshez.

A winapp CLI főbb előnyei

Parancssorikon egy kiemelt csempén, kék képponthullám felett

WinUI-alkalmazások létrehozása és futtatása a terminálról
winapp new WinUI-alkalmazást hoz létre a hivatalos sablonokból, beleértve az üres, a NavigationView, a TabView és az MVVM-kezdősablonokat. winapp runlétrehozza a projektet, telepíti a megfelelő Windows-alkalmazás futtatókörnyezetet, és elindítja az alkalmazást, függetlenül attól, hogy csomagolt vagy nem csomagolt.
Az első WinUI-alkalmazás létrehozása

Egy hibaikon egy emelt csempén, kék képpontok átlós sávja felett

Hibakeresés csomagazonossággal és összeomlás-diagnosztikával
Futtassa az alkalmazást csomagidentitással, hogy tesztelhesse az értesítéseket, az eszközön futó AI-t és az identitást igénylő egyéb API-kat. Adja hozzá a --debug-output elemet a hibakeresési üzenetek és összeomlási memóriaképek rögzítéséhez. A WinUI összeomlása esetén a winapp dekódolja a stowed kivételeket, hogy rámutasson a hibát okozó XAML eseménykezelőre.
Hibakeresés csomagidentitással

Csillogó csevegőbuborék ikon egy emelt csempén egy kék képpontos hullámon

Alapozza az AI-kódolási ügynököket valós WinUI-kódra
winapp find-ui a WinUI 3 katalógusból és a Windows közösségi eszközkészletből visszaadja a működő XAML-t és C#-t. winapp find-api megvizsgálja a projekt által hivatkozott Windows-futtatókörnyezet API-kat. Az ügynökök arra használják őket, hogy valós minták és metaadatok alapján kódot generáljanak a találgatás helyett.
Winapp CLI használata AI-ügynökökkel

Mutató- és érintésikon egy emelt csempén, kék képpontok átlós sávja felett

Az alkalmazás felhasználói felületének automatizálása és tesztelése
winapp uia UI-automatizálásön keresztül megvizsgálja és kapcsolatba lép a futó alkalmazásokkal, valamint képernyőképeket és felvételeket rögzít. Futtassa az alkalmazást Windows Sandboxban, hogy tiszta környezetben tesztelje.
Felhasználói felület automatizálása

Csomagikon egy megemelt csempén, egy kék pixeles hullám fölött

Csomagolja be, írja alá és küldje el
winapp pack lefordítja a projektet, MSIX-ként csomagolja, és egy lépésben aláírja. Hozzon létre helyi fejlesztési tanúsítványokat, írja alá a kiadási buildjeit az Megbízható Azure-aláírásgal, és telepítse a winapp CLI-t GitHub Actions- vagy Azure DevOps-futókra.
Csomagold be az alkalmazásodat

Egy puzzle-darab ikon egy kiemelkedő csempén, a kék képpontok átlós sávja előtt

Tegye elérhetővé a Windows funkciókat bármely keretrendszerben
A Windows SDK és Windows App SDK, a csomagidentitás és az MSIX-csomagolás hozzáadása .NET, C++, Electron, Flutter, Rust vagy Tauri használatával készült alkalmazásokhoz a buildrendszer módosítása nélkül.
Támogatott keretrendszerek megtekintése

A WinUI használatának első lépései

A Winapp CLI és a .NET SDK telepítése után hozzon létre és futtasson egy WinUI-alkalmazást:

winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run

Ha készen áll egy csomag helyi tesztelésére, hozzon létre egy fejlesztési tanúsítványt, és hozzon létre egy aláírt MSIX-csomagot:

winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx

A fejlesztési tanúsítvány alapértelmezett jelszót használ, és csak helyi teszteléshez használható. Az alkalmazás terjesztése előtt írja alá egy megbízható tanúsítvánnyal, például winapp az-sign. További információkért lásd a Biztonságszakaszt.

A beállítással és az első felhasználói felület módosításával kapcsolatos lépésről lépésre útmutatóért tekintse meg az Az első WinUI-alkalmazás elkészítése című cikket. Az összes elérhető sablon megtekintéséhez futtassa a parancsot winapp new --list. A teljes munkafolyamatért, beleértve a hibakeresést, a felhasználói felület automatizálását és a csomagolást, olvassa el a Winapp CLI használata a WinUI-val című témakört.

Telepítés

WinGet

A parancssori felület telepítésének legegyszerűbb módja a WinGet (Windows Csomagkezelő):

winget install Microsoft.winappcli --source winget

Ha a WinGet PowerShell-modult használja, futtassa Install-WinGetPackage Microsoft.winappcli inkább.

NPM

Elektronprojektek esetén telepítse az NPM-en keresztül:

npm install @microsoft/winappcli --save-dev

GitHub Actions/Azure DevOps

CI/CD-pipelinek esetén használja a setup-WinAppCli műveletet a parancssori felület automatikus telepítéséhez a futókra/ügynökökre.

Manuális letöltés

Töltse le a legújabb buildet GitHub kiadásokból.

Telepítés ellenőrzése

A telepítés után ellenőrizze a telepítést a parancssori felület meghívásával:

winapp --help

Vagy ha az Electron vagy a Node.js technológiát használja:

npx winapp --help

A winapp CLI használata AI-ügynökökkel

A winapp CLI úgy lett kialakítva, hogy jól működjön AI-kódolóügynökökkel. Az olyan parancsok, mint a find-ui és a find-api, a --json használatával géppel olvasható kimenetet adnak vissza, így az ügynök valódi WinUI-mintákat és Windows-futtatókörnyezet API-kat kereshet meg, mielőtt kódot ír.

Telepítse a winapp beépülő modult, hogy készségeket adjon az ügynökének a winapp CLI-munkafolyamathoz:

# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli

# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli

Ha a Visual Studio Code-ban dolgozik, a WinApp VS Code-bővítmény winapp CLI-parancsokat futtat a szerkesztőből, és az F5 billentyű lenyomásakor elindítja az alkalmazást csomagazonosítóval. Telepítse azt a Visual Studio Marketplace-ről.

Támogatott keretrendszerek

A Winapp CLI a WinUI-val és más alkalmazás-keretrendszerekkel működik:

Keretrendszer Guide
WinUI Első lépések a WinUI-
.NET / WPF / WinForms Első lépések a .NET használatában
.NET MAUI A .NET MAUI használatának első lépései
C++ (CMake) Kezdje el a C++
Elektron Kezdje el az Electron használatát
Rust Ismerkedjen meg a Rusttal
Tauri Kezdje el a Taurival
Lebeg Kezdje el a Flutter használatát

További útmutatók:

  • EXE/CLI csomagolása: részletes útmutató meglévő EXE/CLI MSIX-ként való csomagolásához
  • Ritkított csomagolás: csomagazonosság biztosítása egy kicsomagolatlan alkalmazás számára egy csak identitást tartalmazó (ritkított) MSIX és külső tartalom használatával
  • Shell-kiegészítés: parancsok, beállítások és értékek fülkiegészítésének engedélyezése a PowerShellben, bashben, zsh-ben és fish-ben
  • Biztonsági útmutató: milyen fejlesztési tanúsítványok és fejlesztői mód változik a gépen, hogyan kezelhetők devcert.pfx, és hogyan lehet éles környezetben bejelentkezni

Parancsok áttekintése

Kategória Parancsok
Létrehozás és beállítás új, inicializálás, visszaállítás, frissítés
Futtatás és hibakeresés run, create-debug-identity, embed-identity, unregister
Csomagolás csomagol
Rakományjegyzék jegyzék generálása, jegyzék frissítés-eszközök, jegyzék alias hozzáadása
Tanúsítványok > Aláírás cert generate, cert install, sign, az-sign, create-external-catalog
Kódkeresés ügynökökhöz find-ui, find-api
Felhasználói felület automatizálása & Sandbox felhasználói felület, cél
Utilities eszköz, áruház, get-winapp-path, befejező
Node.js/Electron node create-addon, node generate-bindings, node add-electron-debug-identity, node clear-electron-debug-identity

A teljes CLI-referenciaért tekintse meg a CLI-referenciát.

Samples

A GitHubon található mintamappa minden támogatott keretrendszerhez futtatható projekttel rendelkezik:

Sample Description
WinUI-alkalmazás A csomagolt WinUI-alkalmazás regisztrálva lett és elindult a következővel: winapp run
WinUI csomagolatlan alkalmazás Csomagolatlan WinUI-alkalmazás elindítva a(z) winapp run használatával
WinUI-megoldás Többprojektes megoldás (alkalmazás- és tesztprojekt), amely bemutatja, hogyan választja ki a(z) winapp run az alkalmazásprojektet
C++ WinUI-alkalmazás C++-ban készült WinUI-ablak CMake-vel, XAML vagy MSBuild nélkül
WPF alkalmazás WPF asztali alkalmazás
.NET MAUI alkalmazás winapp CLI-val csomagolt és aláírt .NET MAUI Windows-projekt
C++ alkalmazás Natív C++ Win32-alkalmazás a CMake használatával
Elektron Electron Forge alkalmazás manifesztummal, erőforrásokkal és natív C++ és C# bővítményekkel
Rust alkalmazás Rust alkalmazás, amely Windows API-kat hív meg
Tauri-alkalmazás Tauri-alkalmazás Rust backenddel
Flutter alkalmazás Flutter asztali alkalmazás csomagidentitással és a Windows App SDK
Ritkított alkalmazás WPF alkalmazás részleges csomagolással (csak identitással rendelkező MSIX) és telepítővel

Miért érdemes csomagidentitást használni?

Számos Windows API megköveteli, hogy az alkalmazás csomagidentitással rendelkezzen. Az identitással az alkalmazás access kap olyan funkciókhoz, mint az értesítések, az operációs rendszer integrációja és az eszközön futó AI. A WinUI-alkalmazássablonok csomagjegyzéket tartalmaznak, így winapp run alapértelmezés szerint identitást biztosít számukra. A csomag identitásának feloldását és a megfelelő csomagolási modell kiválasztását segítő teljes listát a Csomagolás áttekintése című témakörben találja.

Nyílt forráskód

A winapp parancssori felület nyílt forráskód. A forráskódot, a fájlproblémákat és a közreműködést a GitHub webhelyen találja. Segítségért lásd: Támogatás.