Как отладить "вызов" Powershell (ps1) из файла C#

0

Вопрос

Я пытаюсь вызвать файл Powershell из решения C# Visual Studio.

По-видимому, во время отладки кажется, что он ничего не делает, когда попадает в строку, в которой он вызывает файл PS1.

Я получаю это сообщение:

enter image description here

У меня есть эти строки внутри C#:

using System.Management.Automation;

PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Users\Justin\source\repos\HttpTrigger_1119\HttpTrigger_1119\list.ps1")).Invoke();

Однако, когда точка останова попадает в следующую строку, она не показывает ошибок: enter image description here

Моей следующей попыткой было поместить точку останова в сам файл ps1.

Но, похоже, он даже не остановился на точке останова файла ps1.

Поскольку он не достиг точки останова внутри файла ps1, возможно, чего-то не хватает при вызове файла PS1, нет?

Что-нибудь добавить из существующих двух строк?

PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Users\Justin\source\repos\HttpTrigger_1119\HttpTrigger_1119\list.ps1")).Invoke();
c# powershell
2021-11-24 01:26:40
1

Лучший ответ

1

Что касается вопроса "Как отладить..."

Рефакторинг вашего кода:

PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Users\Justin\source\repos\HttpTrigger_1119\HttpTrigger_1119\list.ps1")).Invoke();

К чему-то, что вы можете наблюдать в отладчике:

var ps1Script = File.ReadAllText(...); 
var newPs = ps.AddScript(ps1Script); 
var psResult = newPs.Invoke();

И пройдите через свой код, чтобы убедиться, что он делает то, что вы от него ожидаете.

2021-11-24 19:45:50

Именно это я и сделал. Спасибо!
Java

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................