Как поддерживать UWP командной строки и UWP UI одновременно? - PullRequest
0 голосов
/ 02 июня 2018

Мое текущее приложение выглядит следующим образом:

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?

1 Ответ

0 голосов
/ 05 июня 2018

Существует множество дополнительных соображений для консольных приложений UWP.Такие, как только приложения C ++ / WinRT и C ++ / CX UWP, могут быть консольными приложениями.И он должен быть нацелен на рабочий стол или проект ioT.Сформируйте ваш код, я могу понять, что это приложение UWP.И даже если это было приложение UWP, вы не могли запустить его в двух моделях UI или Консоль .Потому что он не может создавать окна.Для более подробной информации вы можете сослаться на C , чтобы создать консольное приложение универсальной платформы Windows .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...