Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Můžete vytvářet konzolové aplikace, které používají Windows App SDK funkce, jako je správa životního cyklu aplikací, bohatá aktivace, nabízená oznámení a další. Na rozdíl od konzolových aplikací UPW (které vyžadovaly speciální šablony a C++/WinRT) používají desktopové konzolové aplikace standardní typy projektů .NET nebo C++.
Vytvoření konzolové aplikace pomocí Windows App SDK
Krok 1: Vytvoření projektu konzoly .NET
Použijte standardní šablonu konzolové aplikace .NET:
dotnet new console -n MyConsoleApp
cd MyConsoleApp
Krok 2: Přidání balíčku NuGet Windows App SDK
dotnet add package Microsoft.WindowsAppSDK
Krok 3: Použití rozhraní API Windows App SDK
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();
}
}
Identita balíčku pro konzolové aplikace
Některé Windows App SDK funkce vyžadují identitu balíčku MSIX. Identitu balíčku konzolové aplikace můžete udělit dvěma způsoby:
- Zabalte jako MSIX — Vytvořte projekt pro balení aplikací pro Windows a přidejte na něj odkaz na svou konzolovou aplikaci.
- Použít externí identitu – Zaregistrujte řídký balíček pro identitu bez úplného balení MSIX.
Note
Funkce, jako jsou nabízená oznámení, úlohy na pozadí a aplikační služby, vyžadují identitu balíčku. Základní životní cyklus a aktivační rozhraní API fungují bez balení.
Rozdíly od konzolových aplikací pro UPW
| funkce | Konzolové aplikace pro UPW | Desktopové konzolové aplikace |
|---|---|---|
| Podpora jazyků | Pouze C++/WinRT a C++/CX | C#, C++ a libovolný jazyk .NET |
| Šablona projektu | Speciální šablona konzole UWP (VS 2017/2019) | Standardní konzola .NET nebo Win32 |
| Požadavek manifestu | desktop4:Subsystem="console" |
Nepovinné |
| Activation |
AppExecutionAlias v manifestu |
Standardní příkazový řádek nebo rozšířená aktivace |
| Integrace sady SDK | Omezeno na rozhraní API WinRT | Úplný přístup k Windows App SDK |
Important
Konzolové aplikace UPW vyžadovaly speciální Visual Studio šablony, které se už aktivně neudržují. Pro nové konzolové aplikace použijte standardní projekt konzoly .NET s balíčkem NuGet Windows App SDK.
Obvyklé scénáře
Nástroje příkazového řádku s integrací Windows
Vytváření nástrojů rozhraní příkazového řádku, které se integrují s funkcemi Windows:
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());
Zpracování na pozadí
Konzolové aplikace dobře fungují pro úlohy zpracování na pozadí:
- Nástroje pro import a export dat
- Sledovače a zpracovatele souborů
- Naplánované spustitelné soubory úloh
- Vývojářské nástroje a automatizační skripty
Související obsah
Windows developer