Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Olyan konzolalkalmazásokat hozhat létre, amelyek Windows App SDK olyan funkciókat használnak, mint az alkalmazás életciklusának kezelése, a gazdag aktiválás, a leküldéses értesítések stb. Ellentétben az UWP-konzolalkalmazásokkal (amelyek speciális sablonokat és C++/WinRT-et igényelnek), az asztali konzolalkalmazások szabványos .NET vagy C++ projekttípusokat használnak.
Konzolalkalmazás létrehozása a Windows App SDK-val
1. lépés: .NET konzolprojekt létrehozása
Használja a standard .NET konzolalkalmazás-sablont:
dotnet new console -n MyConsoleApp
cd MyConsoleApp
2. lépés: A Windows App SDK NuGet-csomag hozzáadása
dotnet add package Microsoft.WindowsAppSDK
3. lépés: Windows App SDK API-k használata
using Microsoft.Windows.AppLifecycle;
class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("Console app with Windows App SDK");
// Check activation kind
var activatedArgs = AppInstance.GetCurrent().GetActivatedEventArgs();
Console.WriteLine($"Activation kind: {activatedArgs.Kind}");
// Use single-instance pattern
var instance = AppInstance.FindOrRegisterForKey("my-console-app");
if (!instance.IsCurrent)
{
Console.WriteLine("Another instance is running. Redirecting...");
await instance.RedirectActivationToAsync(activatedArgs);
return;
}
// Your app logic here
Console.WriteLine("Press Enter to exit.");
Console.ReadLine();
}
}
Csomagidentitás konzolalkalmazásokhoz
Egyes Windows App SDK funkciókhoz MSIX-csomagdentitás szükséges. A konzolalkalmazás-csomag identitását kétféleképpen adhatja meg:
- Csomagolás MSIX-ként — Hozzon létre egy Windows-alkalmazáscsomagoló projektet, és adja hozzá referenciaként a konzolalkalmazását.
- Külső identitás használata — Regisztráljon egy ritkított csomagot identitáshoz teljes MSIX-csomagolás nélkül.
Note
Az olyan funkciók, mint a leküldéses értesítések, a háttérfeladatok és az appszolgáltatások csomagazonosságát igénylik. Az alapvető életciklus- és aktiválási API-k csomagolás nélkül működnek.
Különbségek az UWP-konzolalkalmazásoktól
| Funkció | UWP-konzolalkalmazások | Asztali konzolalkalmazások |
|---|---|---|
| Nyelvi támogatás | Csak C++/WinRT és C++/CX | C#, C++ és bármilyen .NET nyelv |
| Projektsablon | Speciális UWP-konzolsablon (VS 2017/2019) | Standard .NET konzol vagy Win32 |
| Manifesztumkövetelmény | desktop4:Subsystem="console" |
Nem kötelező |
| Activation |
AppExecutionAlias jegyzékben |
Normál parancssor vagy bővített aktiválás |
| SDK-integráció | Csak WinRT API-kra korlátozva | Teljes Windows App SDK hozzáférés |
Important
Az UWP-konzolalkalmazások speciális Visual Studio olyan sablonokat igényelnek, amelyeket már nem tartanak fenn aktívan. Új konzolalkalmazások esetén használjon egy standard .NET-konzolprojektet a Windows App SDK NuGet-csomaggal.
Gyakori forgatókönyvek
Parancssori eszközök Windows integrációval
Cli-eszközök létrehozása, amelyek integrálhatók Windows funkciókkal:
using Microsoft.Windows.AppNotifications;
// Send a notification from a console app (requires package identity)
var builder = new AppNotificationBuilder()
.AddText("Build complete")
.AddText("Your project built successfully.");
AppNotificationManager.Default.Show(builder.BuildNotification());
Háttérfeldolgozás
A konzolalkalmazások jól működnek a háttérfeldolgozási feladatokhoz:
- Adatimportálási/exportálási segédprogramok
- Fájlfigyelők és processzorok
- Ütemezett feladat futtatható fájljai
- Fejlesztői eszközök és automatizálási szkriptek
Kapcsolódó tartalom
Windows developer