Запуск «git fetch» ​​на C# с использованием PowerShell завершается с ошибкойC#

Место общения программистов C#
Anonymous
Запуск «git fetch» ​​на C# с использованием PowerShell завершается с ошибкой

Сообщение Anonymous »

Я пытаюсь запустить команду git с помощью C# и получить ее выходные данные (обычно git status или git fetch).
Поскольку я использую ProcessInfo< /code> было больше проблем, чем пользы. Я решил использовать Powershell. А именно System.Management.Automation (с Microsoft.PowerShell.SDK, потому что иначе он, конечно, не работает).
Я добрался до момент, когда я успешно угадал, как запускать команды Powershell с указанными nugets.
Однако, когда я пытаюсь запустить следующий код ( — это полный путь к локальному, инициализированному и рабочему репозиторию git):

Код: Выделить всё

public static void RunPowerShellCmd(string workDir)
{
using PowerShell powerShell = PowerShell.Create();
powerShell.Runspace.SessionStateProxy.Path.SetLocation(workDir);
powerShell.AddScript("git fetch --all");

var result = powerShell.Invoke();
}
свойство powerShell.HadErrors имеет значение true, а коллекция powerShell.Streams.Error содержит следующее:

ssh: не удалось разрешить имя хоста gitlab.xxxxxxxx.xxx: имя или служба неизвестны

неустранимая ошибка: невозможно прочитать из удаленного репозитория.

System.Management.Automation.RemoteException

Убедитесь, что у вас есть правильные права доступа

и репозиторий существует.

Я понятия не имею, почему, поскольку запуск git status завершается успешно — в этом случае powerShell.HadErrors имеет значение false, а переменная result содержит вывод команды.
Ситуация одинакова как с git fetch --all, так и с git fetch.
Я не понимаю почему, может кто-нибудь помочь мне это исправить?

Подробнее здесь: https://stackoverflow.com/questions/791 ... hell-fails

Вернуться в «C#»