Мое текущее приложение выглядит следующим образом:
public static class Program
{
//Default code-gen unless we include DISABLE_XAML_GENERATED_MAIN in the build properties.
static void Main(string[] args)
{
IActivatedEventArgs activatedArgs = AppInstance.GetActivatedEventArgs();
if(ActivationKind.CommandLineLaunch.Equals(activatedArgs?.Kind))
{
CommandLineActivatedEventArgs cmdLineArgs = activatedArgs as CommandLineActivatedEventArgs;
CommandLineActivationOperation operation = cmdLineArgs.Operation;
string activationPath = operation.CurrentDirectoryPath;
System.Console.WriteLine("foo");
}
else
{
global::Windows.UI.Xaml.Application.Start((p) => new App());
}
}
}
Мой манифест:
<Application Id="App" Executable="$targetnametoken$.exe" desktop4:SupportsMultipleInstances="true">
<uap5:Extension Category="windows.appExecutionAlias" [...]
В зависимости от того, запустил ли пользователь приложение из командной строки или из меню «Пуск», пользовательский интерфейсбудет отображаться как показано.Но когда пользователь запускает приложение из cmd, вывод Console.WriteLine ("foo") не отображается.
Поэтому я добавил desktop4:Subsystem="console"
. Это приводит к тому, что окна консоли запускаются независимо от того, запускает ли пользователь приложение, запускает ли оно приложение из startmneu или из командной строки.Как я могу убедиться, что окно консоли будет отображаться только при запуске из командной строки?Должен ли я создать второй проект UWP?