Jak debugować "wyzwanie" Powershell (ps1) z pliku C#

0

Pytanie

Próbuję wywołać plik Powershell z rozwiązania C# Visual Studio.

Najwyraźniej podczas debugowania wydaje się, że on nic nie robi, gdy wpada w ciąg, w którym on powoduje, że plik PS1.

Otrzymuję komunikat:

enter image description here

Mam te wiersze w 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();

Jednak, gdy pułapka trafia w następujący wiersz, ona nie pokazuje błędów: enter image description here

Moją następną próbą było umieścić punkt przerwania w sam plik ps1.

Ale wygląda na to, że nawet nie zatrzymał się na punkcie stop pliku ps1.

Ponieważ nie osiągnął punkt przerwania wewnątrz pliku ps1, być może, czegoś brakuje po wywołaniu pliku PS1, nie?

Coś dodać z istniejących dwóch wierszy?

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

Najlepsza odpowiedź

1

Co do pytania "Jak debugować..."

Refaktoryzacja kodu:

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

Do czegoś, co można obserwować w debugerze:

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

I przejdź przez swój kod, aby upewnić się, że robi to, co od niego oczekujesz.

2021-11-24 19:45:50

Właśnie to zrobiłem. Dziękuję!
Java

W innych językach

Ta strona jest w innych językach

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