Как получить версию магазина из C# с помощью PowerShell? - PullRequest
1 голос
/ 28 января 2020

Не знаю, почему коллекция результатов пуста?
Как получить точный вывод команды PowerShell?

using System;
using System.Management.Automation;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            PowerShell ps = PowerShell.Create();
            var results = ps.AddScript("(Get-AppxPackage \"Adobe.CC.XD\" | Select Version).Version").Invoke();

            Console.WriteLine("Press a key to exit...");
            Console.ReadKey();
        }
    }
}

1 Ответ

0 голосов
/ 29 января 2020

Я нашел обходной путь без использования объекта PowerShell.

static string GetStoreAppVersion(string appName)
{
    var process = new Process
    {
        StartInfo =
        {
            FileName = "powershell.exe",
            Arguments = $"-Command (Get-AppxPackage \"{appName}\" | Select Version).Version",
            UseShellExecute = false,
            RedirectStandardOutput = true,
            CreateNoWindow = true
        }
    };

    process.Start();
    process.WaitForExit();

    var output = process.StandardOutput.ReadToEnd();
    var version = output.Replace(System.Environment.NewLine, string.Empty);

    if (string.IsNullOrWhiteSpace(version))
    {
        return null;
    }

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